Git常用命令

来源:互联网 发布:淘宝联盟手机怎么推广 编辑:程序博客网 时间:2024/06/16 00:46
Git是由创造了Linux的大神Linus Torvalds开发的。 属于分布式版本控制系统,区别于CVS、SVN等集中式版本控制系统。
Git相关命令:
1、安装完Git后设置用户名和密码:
$ git config --global user.name "yourname"
$ git config --global user.email "youremail@163.com"
2、查看Git的用户名和邮箱:
$ git config user.name
$ git config user.email
3、修改Git的用户名和邮箱:
$ git config --global user.name "username"
$ git config --global user.email "email"
4、pwd命令列出当前所在位置;
5、把当前文件夹变成Git可以管理的仓库:
$ git init
6、把文件提交到Git仓库(分两步) :
<1>$ git add file1.txt //添加到仓库
<2>$ git commit -m "add a file1" //提交到仓库
7、批量提交文件到Git仓库
<1>$ git add file2.txt file3.text //添加到仓库
<2>$ git commit -m "add 2 files" //提交到仓库
8、查看仓库状态(看那些文件修改或者删除了):
$ git status
9:查看某个文件具体修改了那些内容:
$ git diff readme.txt
10、查看git历史记录:
$ git log
11、把每个文件修改的日志显示为一行:
$ git log --pretty=oneline
12、回退到上一个版本(版本回退):
$ git reset --hard HEAD^
如果要回退到上上一个版本:
$ git reset --hard HEAD^^
如果要回退到上100个版本,这样写麻烦,可以按如下方式写:
$ git reset --hard HEAD~100
13、要回退到特定的版本(现用$ git log --pretty=oneline 查出版本号,然后找出要回退的版本号(可以是版本号一部分),然后执行命令):
$ git reset --hard 5a16ebad600
14、$ git reflog记录了每一次git命令;
15、丢弃工作区的修改(只是修改了工作的文件,没有add):
$ git checkout -- readme.txt
16、把暂存区的修改撤销掉,回退到工作区(适用于add后不想提交的情形):
$ git reset HEAD readme.txt
17、删除文件:
$ git rm file2.txt(从版本库中删除)
$ git commit -m "delete file2"
$ rm file2.txt(从工作区中删除)
18、创建SSH Key:
ssh-keygen -t rsa -C "youremail@163.com"
19、把本地库的内容推送到远程库中:
$ git push -u origin master(第一次推送)
$ git push origin master(正常推送)
20、从0开始开发的话,最好的方式是先创建远程库,然后从远程库中克隆:
在GitHub上创建远程库后,在本地用命令git clone,从远程库中克隆一个本地库:
$ git clone git@github.com:yourname/gitskills.git
21、创建分支并切换到改分支:
第一种方式:
$ git branch dev   //创建分支
$ git checkout dev  //切换到该分支
第二种方式:
$ git checkout -b dev2  //创建并切换到该分支
22、查看当前分支:
$ git branch
23、合并指定分支到当前分支(以下示例是把dev分支合并到master分支):
yourname@yourname-PC MINGW64 /e/git/learngit (master)
$ git merge dev
24、删除分支:
$ git branch -d dev
25、查看分支的合并情况:
$ git log --graph --pretty=oneline --abbrev-commit
26、合并分支时禁用Fast forword模式
$ git merge --no--ff -m "merge with no-ff" dev
27、把未提交的工作现场储存起来:
$ git stash
28、查看保存的临时工作新厂:
$ git stash list
29、从临时工作现场中恢复工作内容:
第一种方式:
$ git stash apply  // 先恢复内容
$ git stash drop   //删除临时工作空间中保存的内容
第二种方式:
$ git stash pop    //恢复的同时删除临时工作空间中保存的内容
30、强行删除一个还没有被合并过的分支:
$ git branch -D feature2
31、查看远程库信息:
$ git remote
如果要查看更相信的信息,可以用下面这个命令:
$ git remote -v
32、多人协作工作模式:
- 首先,可以试图用git push origin branch-name推送自己的修改;
- 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
比如设置dev分支与远程库的链接关系:
$ git branch --set-upstream dev origin/dev
Branch dev set up to track remote branch dev from origin.
33、创建远程库分支到本地:
$ git checkout -b dev origin/dev
34、创建标签:
<1>在最新提交的commit上创建标签:
$ git tag v1.0
<2>在历史提交的commit的某一个版本创建标签(先找到commit id,然后创建标签):
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 fae214b
<3>创建带说明的标签:
$ git tag -a v0.8 -m "version 0.8 released" f12d311
<4>查看所有标签:
$ git tag
<5>查看指定标签的详细信息:
$ git show v0.8
35、操作标签:
<1>删除标签:
$ git tag -d v0.8
Deleted tag 'v0.8' (was 63eb21c)
<2>推送指定标签到远程库:
$ git push origin v0.9
<3>推送所用标签到远程库中:
$ git push origin --tags
<4>删除远程库中的标签(先删除本地标签,然后再推送到远程库中)
$ git tag -d v0.9
$ git push origin :refs/tags/v0.9

0 0