1.配置git
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
2.把目录变成git仓库
$ git init
3.把修改添加到缓冲区
$ git add readme.txt
4.把修改提交到仓库
$ git commit -m "wrote a readme file"
git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
5.同时提交多个文件
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
6.掌握仓库状态
$ git status
7.比较工作区和master库的区别
$ git diff readme.txt
git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式
8.显示提交日志
$ git log
git log命令显示从最近到最远的提交日志。
9.格式化提交日志
$ git log --pretty=oneline
10.回退版本
$ git reset --hard HEAD^
$ git reset --hard 3628164
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
11.记录每一次操作命令
$ gitreflog
在Git中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^回退到add distributed版本时,再想恢复到append GPL,就必须找到append GPL的commit id。Git提供了一个命令git reflog用来记录你的每一次命令:
12.工作区和版本库最新版本的区别
$ git diff HEAD -- readme.txt
提交后,用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
13.丢弃工作区的修改
$ git checkout -- readme.txt
你可以发现,Git会告诉你,git checkout -- file可以丢弃工作区的修改
14.撤销暂缓区的修改
$ git reset HEAD readme.txt
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
15.文件管理区中删除文件
$ rm test.txt
16.从版本库中删除文件
$ git rm test.txt
$ git commit -m "remove test.txt"
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
17.把误删的文件恢复到最新版本
$ git checkout -- test.txt
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
18.创建新的分支,切换到新分支
$ git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令
$ git branch dev
$ git checkout dev
19.查看当前分支
$ git branch
git branch命令会列出所有分支,当前分支前面会标一个*号。
20.合并两个分支
$ git merge dev
git merge命令用于合并指定分支到当前分支
21.删除分支
$ git branch -d dev
22.查看分支合并情况
$ git log --graph --pretty=oneline --abbrev-commit
23.合并分支,并且不用Fast Forward
$ git merge --no-ff -m "merge with no-ff" dev
因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去
24.隐藏当前工作区
$ git stash
25.查询隐藏的工作区
$ git stash list
26.回复隐藏的工作区
$ git stash apply
$ git stash drop
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了:
$ git stash pop
27.多次stash之后,恢复指定的stash
$ git stash apply stash@{0}
28.强行删除分支
$ git branch -D feature-vulcan
29.查看远程库
$ git remote
或者,用git remote -v显示更详细的信息:
30.推送分支
$ git push origin master
31.查看远程库的信息及详细信息
$ git remote
$ git remote -v
32.推送分支
$ git push origin master
33.抓取分支
$ git clone git@github.com:michaelliao/learngit.git
34.创建远程分支到本地
$ git checkout -b dev origin/dev
35.更新代码
$ git pull
36.指定本地分支与远程分支的链接
$ git branch --set-upstream dev origin/dev
37.把dev分支合并到master分支上去
$ git pull
$ git checkout master
$ git merge --squash dev
$ git commit -m "some conflicts" -----记得,一定要提交
$ git push --push 上去
38.创建新的分支,并推送
//先创建
$git checkout -b dev
//再推送分支
$git push origin dev
//最后设定远程分支与本地分支的联系
$ git branch --set-upstream dev origin/dev
39.删除远程分支
$git branch -r -d origin/dev
$git push origin :dev
$ git branch -D dev
40.删除文件
$git add -A