git 常用命令粗略总结
本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!
原文地址:http://www.cnblogs.com/cxun/p/5630190.html
git的功能很强大,但是其实很简单,用来用去都是这几个,这里总结一下,也方便自己日后查询。写得比较粗,没有一些大牛写得那么详细完整,但是作为入门的话,这几个命令应该够用了。
git官方下载地址:https://git-scm.com/
Windows中用的是git bash,按win键,输入git,会自动找出来的。如果安装的不是portable版本的话,在任意一个文件中按右键,点git bash也可以调出命令行界面。
以下的命令使用前提是git服务器已搭建好的情况,有关git服务器有很多,windows平台下我推荐gitblit,linux平台我推荐gitlab,有关服务器的搭建等有空的时候再总结,有需要的朋友可以先从这些服务器软件的官网里找。
下面2-3是下载代码用的,4-6是上传代码用的,当然上传代码也可以用图形界面方式来完成,git bash中输入“git gui”就可以调出来。
1. git status
查看现在代码库的状态,会将当前的代码与GIT代码库比较,如果有差别,要解决冲突才行。解决冲突的情况比较复杂,这里就暂时不讨论。假设现在想放弃当前的代码版本,希望将服务器上的版本完全覆盖到本地来的话,直接用下面这个命令“git checkout -f”。但前提是 git status 后不能有 Untracked files 的提示(表示有新的文件未被添加给GIT跟踪),直接用rm命令,比如提示信息是这样:
Untracked files: (use "git add <file>..." to include in what will be committed) ProjectName/ModuleName/Form1.cs.bak ProjectName/ModuleName/new.txt
分别复制这两行,执行:
rm ProjectName/ModuleName/Form1.cs.bak rm ProjectName/ModuleName/new.txt
然后再执行一下 git status,没有 Untracked 提示的话,就可以执行 git checkout -f 了。
2. git checkout -f
这是重置当前代码,恢复到上一次提交或获取版本的那个状态,这状态是没有冲突的,就可以git pull了。
如果想查看以前版本的内容,可以通过gitk查询以前版本的hash值,可以取前8位,如“bad20cb3”,然后执行“git checkout bad20cb3”,此时代码版本已经变成以前的版本了,可以通过在资源管理器中查看各个文件的内容。
如果想回到最新版本,直接执行这个命令即可:“git checkout master”
3. git pull
从服务器获取所有历史版本的代码库,并把本地代码替换成最新版本的代码。
(没有经过设置的话需要执行:git pull origin master)
4. git add --all
把 git status 提示的 Untracked files 中的所有文件添加给GIT代码库跟踪。
5. git commit -a
把当前代码提交到本地代码库,执行后会出现一个版本说明的文本编辑界面(Linux超强大的文本编辑工具“VI”),按“i”,进入文本编辑状态,此时光标只能用键盘的上下左右移动,不支持鼠标。版本说明的规则是,第一行是提交版本的标题,然后回车空一行,在第3行开始,就是详细的版本说明了。
编辑完成后,按"ESC"返回到VI的命令模式,输入“:wq”,将保存所输入的版本说明,并退出VI。然后GIT就会将当前代码提交到本地代码库了。此时服务器上还没当前的代码版本,需要用git push来提交到服务器。
6. git push
只有commit过的代码库才能提交到服务器,输入git push回车后,没有出现报错信息的话就完成了代码上传服务器的工作了。
(没有经过设置的话需要执行:git push origin master)
7. gitk
用图形界面方式查看各个版本的信息,包括:提交时间、提交人、代码差别、版本摘要值等等。