Git常用指令

来源:互联网 发布:高考的意义知乎 编辑:程序博客网 时间:2024/06/06 21:22
1、初始化git仓库:git init
2、提交文件修改到分支分两步:
第一步:提交到暂存区
git add <file1> <file2> ...
第二步:提交到分支
git commit -m "备注信息"
3、查看当前工作区状态
git status
4、查看文件的变化
git diff <filename>
5、显示从最近到最远的提交日志
git log
以精简的方式显示提交日志
git log--pretty=oneline
6、向前回退版本
HEAD表示当前版本,上一个版本就是HEAD^上上一个版本就是HEAD^^当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
git reset <要回退的版本>
7、向后回退版本
git reset --hard <要回退的串号:只输入前几位即可>
8、撤销修改
git checkout -- <filename>
把文件在工作区的修改全部撤销,分为2种情况:
第一种是文件从修改后还没有被放到暂存区,也就是修改文件后还没有执行git add 指令,现在,撤销修改就和回到版本库一模一样的状态。
第二种是文件被放到暂存区后,又对文件做了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,这个指令就是让文件回到最近一次git commit 或者git add 时的状态。
注意:git checkout -- file 中的 -- 很重要,没有 --,就变成了切换到另一个分支的指令。
9、撤销暂存区的修改
git reset HEAD <filename>
把暂存区的修改撤销掉,重新放回工作区。
git reset 既可以既可以回退版本,也可以把暂存区的修改回退到工作区。
10、删除文件
在git中删除文件需要两步。
git rm <filename>
git commit -m "备注"
11、恢复工作区中误删的文件
git checkout -- <filename>
从版本库中将工作区中误删的文件恢复过来。
12、关联远程仓库
git remote add origin git@server-name:path/repo-name.git
13、推送本地到远程仓库
第一次推送master分支的所有内容
git push -u origin master
第2次及其以后的提交
git push orign master
14、从远程库克隆仓库
git clonegit@server-name:path/repo-name.git
15、创建并切换分支
创建分支:git branch <分支名>
切换分支:git checkout <分支名>
也可以将上述两条指令合并成一条:git checkout -b <分支名>
16、查看分支
git branch
该指令会列出所有分支,当前分支前面会标注一个*
17、合并分支
git merge <指定分支>
合并指定分支到当前分支。
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
18、删除分支
git branch -d <分支名>
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <分支名>
19、保存现场
git stash
20、恢复现场
一是用git stash apply恢复,但是恢复后,stash的内容并不删除,需要用git stash drop 来删除,git stash apply 现场标签可以恢复指定的现场;
二是用git stash pop来恢复,恢复的同时把stash内容也删了。
21、查看stash的内容
git stash list
22、查看远程库信息
git remote -v
23、从本地推送分支
git push origin <分支名>
如果推送失败,先用git pull 抓取远程的新提交
24、抓取远程的新提交
git pull
25、多人协作工作模式
1. 首先,可以试图用git push origin branch-name推送自己的修改;
2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3. 如果合并有冲突,则解决冲突,并在本地提交;
4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
26、创建标签
git tag <标签名>
27、查看所有标签
git tag
28、使用PGP签名标签
git tag -s <标签名> -m "签名信息"
29、为指定的commit指定标签和标签说明
git tag -a <标签名> -m 标签说明 <commit编号>
30、删除本地标签
git tag -d <标签名>
31、推送标签到远程
git push origin <标签名>
32、推送全部尚未推送到远程的本地标签
git push origin --tags
33、删除远程标签
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
git tag -d <标签名>
然后,从远程删除。
git push origin :refs/tags/标签名