学习网址:[廖雪峰Git教程] (http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
$ git init
- 加到暂存区与提交到本地版本库
$ git add
$ git commit -m "comments" - 用
git status命令查看工作区状态 - 用
git diff命令查看修改内容
git reset --hard commit_id进行回退git log查看提交历史git reflog查看提交历史,以便确定要回到未来的哪个版本。- 删除也是一个修改操作:
$ rm然后进行add,commit
-
建立 ssh 连接
$ ssh-keygen -t rsa -C "youremail@example.com" -
要关联一个远程库,使用命令
git remote add origin git@server-name:path/repo-name.git -
关联后,使用命令
git push -u origin master第一次推送master分支的所有内容 -
此后,每次本地提交后。只要有必要,可以使用命令
git push origin master推送最新提交。
git clone ...- Git 支持多种协议, 包括 https, 但是通过 ssh 支持的原生 git 协议速度更快。
-
查看分支:
git branch -
创建分支:
git branch -
切换分支:
git checkout -
创建+切换分支:
git checkout -b -
合并某分支到当前分支:
git merge -
删除某分支:
git branch -d -
当Git无法自动合并分支时,就必须首先解决冲突。 解决好冲突后, 再提交, 合并完成。用
git log --graph命令何以看到分支合并图。 -
当修复bug时, 我们通过创建新的bug分支进行修复, 然后合并, 最后删除;
-
当手头工作没有完成时,先把工作现场 git stash 一下, 然后去修复bug, 修复后, 再
git stash pop, 回到工作现场。 -
开发一个新的feature, 最好新建一个分支;
-
如果要丢弃一个没有被合并过的分支, 可以通过
git branch -D强行删除。 -
查看远程库信息:
git remote -v; -
本地新建的分支如果不推送到远程, 对其他人就是不可见的;
-
从本地推送分支, 使用
git push origin branch-name, 如果失败,先用git pull抓取远程的新提交; -
在本地创建和远程分支对应的分支, 使用
git checkout -b branch-name origin/branch-name, 本地和远程分支的名称最好一致。 -
建立本地分支和远程分支的关联, 使用
git branch --set-upstream branch-name origin/branch-name; -
从远程抓取分支, 使用
git pull, 如果有冲突, 要先处理冲突。
- 命令
git tag用于新建一个标签, 默认为HEAD, 也可以指定一个 commit id; git tag -a -m "comments"可以指定标签信息;git tag -s -m "comments"可以用PGP签名标签;- 命令
git tag可以查看所有标签。 git push origin可以推送一个本地标签;git push origin --tags可以推送全部未推送过的本地标签;git tag -d可以删除一个本地标签;git push origin :refs/tags/可以删除一个远程标签。
- 忽略文件的原则:
- 忽略操作系统自动生成的文件, 比如缩略图等;
- 忽略编译生成的中间文件,可执行文件等。
- 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。