生成ssh

  • 第一步输入用户名密码

    $ git config –global user.name “yourName”

    $ git config –global user.email “yourEmail”

  • 第二步生成ssh 全部按回车键
    $ ssh-keygen -t rsa -C “yourEmail”

  • 最后把生成的公钥id_rsa.pub添加到github上

常用命令

克隆远程项目
git clone [url]

初始化本地仓库
git init

切换分支
git checkout master

添加指定目录到暂存区,包括子目录
git add [dir]

添加当前目录的所有文件到暂存区
git add .

进行一次commit
git commit -m ‘提交说明’

提交代码到分之上
git push origin master

相当于从远程获取最新的版本并merge(合并)到本地的master分支,相当于git fetch和git merge
git pull origin master

创建一个分支,名字为branch-name
git branch branch-name

隆重的分割线

删除工作区文件,并且将这次删除放入暂存区
git rm [file1] [file2] …

停止追踪指定文件,但该文件会保留在工作区
git rm –cached [file]

改名文件,并且将这个改名放入暂存区
git mv [file-original] [file-renamed]

删除分支名
git branch -d branch-name

删除远程的test分支
git branch -d -r origin/test

提交本地的test分支做为远程的master分支
git push origin test:master

合并分支
git merge origin/master

显示所有的分支,包括本地和远程的分支
git branch -a

修改本地分支的名字 ,ori-branch为原来的分支名,dist-branch要修改后的分支名
git branch -m ori-branch dist-branch

从远程的master分支下载最新的版本到本地,但是不会自动merge(合并)
git fetch origin master

把远程的master分支下载到本地的remote-branch分支,这个remote-branch 分支会被自动创建,不存在的时候
git fetch origin master:remote-branch

比较现在所处的分,跟remote-branch分支有什么差别
git diff remote-branch

把remote-branch分支合并到现在的分支上面,如果没有冲突,会自动完成合并。当出现冲突的时候,需要手动修改conflict ,再提交commit
git merge –no-ff remote-branch

比较本地的master分支和origin/master分支的差别
git log -p master ../origin/master

基于base_branch_name分支一个名为new_branch的分支
git checkout -b new_branch base_branch_name

基于master分支创建一个没有父节点的分支,名字为gh-pages
git checkout –orphan gh-pages

添加远程仓库,另名为origin
git remote add origin git@github.com:username/project-name.git

删除远程分支的另名,origin,如果要重新添加,就要用git remote add url
git remote rm origin