git常用命令
2017-06-26 15:53
260 查看
git bash的快捷提示
tab键
pwd显示当前目录
git初始化,创建git仓库
git init
查看分支列表
git branch
git添加文件的两步(工作区和暂存区)
第一步:`git add <file>`;第二步:`git commit -m "message"`,`-m`后面的是本次提交的说明,用于标识,建议输入有意义的文字
查看git仓库的状态,可以看到那些文件被修改、被删除、被创建
git status
比较那个文件具体的被修改的地方
git diff <file>
查看git的提交log
git log
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
删除远程仓库的文件
git rm <file>
将本地项目关联远程仓库
git remote add origin <url>;origin是远程仓库的名字
将本地库推到远程仓库
git push;当空仓库的第一次推送的时候,可以用git push -u <远程仓库名> <远程分支名>,这样就可以将本地分支和远程分支关联起来,以后就可简化命令。
克隆远程仓库到本地
git clone <url>;git支持https和ssh,ssh更快快速
创建分支
git branch <分支名>,例如git branch dev
创建分支dev并切换到新分支
git checkout -b dev
合并指定分支到当前分支
git merge <分支名> ,例如在master上合并dev: git merge dev(Fast-forward模式:合并之后,删除分支,会丢掉分支信息)
删除分支
git branch -d <分支名>,例如删除分支dev: git branch -d dev
切换分支
git checkout <分支名>
查看git分支合并图
git log --graph
可查看分支信息的merge
git merge --no-ff <message> <分支名>,普通合并方式
保存工作现场
git stash
查看保存的工作区列表
git stash list
恢复工作区两种方式:
第一种:git stash apply(恢复工作区,但不会删除stash中的内容),第二种:git stash pop(恢复工作区,并删除stash内容)
删除工作区
git stash drop
丢弃一个未合并的分支,需要强行删除
git branch -D <分支名>
查看远程仓库
git remote
查看远程仓库详细信息
git remote -v
从本地推送到远程分支
git push origin <分支名>
在本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联
git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支
git pull,如果有冲突,要先处理冲突。
命令
git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
命令
git tag可以查看所有标签。
命令
git push origin <tagname>可以推送一个本地标签;
命令
git push origin --tags可以推送全部未推送过的本地标签;
命令
git tag -d <tagname>可以删除一个本地标签;
命令
git push origin :refs/tags/<tagname>可以删除一个远程标签。
配置.gitignore文件,参考https://github.com/github/gitignore/blob/master/Android.gitignore
git的官网:https://git-scm.com/
廖雪峰的git教程
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
根据廖雪峰的git教程,记录的一些git命令行,这些命令足够在工作处理工作中的一些问题。像学更复杂的命令可以去看git官网。如果你不习惯命令行,可以去使用sourcetree,很不错的图形化git工具sourcetree,需要翻墙。
感谢廖雪峰前辈及其他博主。