Git常用指令与用法记录

https://git-scm.com/

https://www.liaoxuefeng.com/wiki/896043488029600

image.jpeg
image.png

常用指令

查看用户

git config [user.name](http://user.name/)

git config user.email

修改用户

git config --global [user.name](http://user.name/) "xxx"

git config --global user.email "xxx” 

初始化Git仓库

git init

把文件添加到仓库

git add readme.txt

把文件提交到仓库

git commit -m "add a readme file"

查看状态

git status

查看提交历史

git log 

回退到某个版本

git reset --hard commit_id

查看命令历史

git reflog

撤销工作区内容

git checkout -- readme.txt

撤销暂存区内容

git reset HEAD readme.txt

添加远程版本库

git remote add       git remote add origin [https://gitee.com/forestGzh/test.git](https://gitee.com/forestGzh/test.git)

上传并合并到远程版本库

git push -u origin master (第一次推送时带 -u参数)

克隆远程版本库

git clone [https://gitee.com/forestGzh/test.git](https://gitee.com/forestGzh/test.git)

分支

创建dev分支,并切换到dev分支

git checkout -b dev    (-b表示创建并切换)

相当于

git branch dev   (创建分支)

git checkout dev   (切换到dev分支)

查看当前分支

git branch  (会列出所有分支,*表示当前分支)

在dev分支上开发完成后

切换回master分支

git checkout master

把dev分支的内容合并到当前master分支

git merge dev

合并完后,删除dev分支

git branch -d dev  

下次开发的时候又是创建分支,切换分支,合并分支,删除分支的套路

冲突

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容

git log 查看提交历史,可以看到分支的合并情况

git log --graph  可以看到分支合并图

分支策略

保证master分支稳定,随时可以用于发布

在dev分支上开发,团队成员每个人建立自己的分支,开发完成后合并到dev分支,最后合并到master分支

还有bug分支,feature分支等等

多人协作

  • 查看远程库信息
git remote -v
  • 推送分支
git push origin master 推送master分支

git push origin dev 推送dev分支

通常,master和dev分支需要与远程同步,其他分支视情况而定

  • 抓取分支

多人协作时,大家都会往master和dev分支推送内容

从远程库clone时,默认情况只能看到master分支,要在dev分支上开发,必须创建远程dev分支到本地

git checkout -b dev origin/dev

把dev分支push到远程

git push origin dev

如果你的团队其他成员修改和提交了dev分支,并推送到了远程origin/dev,恰好,你修改和提交了跟他一样的文件内容,你要推送的时候,发现有冲突,推送失败了,这时,就要解决冲突

先拉取远程最新的提交,在本地合并

git pull 

这时会提示合并失败,因为有冲突

解决冲突后,提交,推送

总结就是:

1.  用 git push origin   命令推送自己的提交

2.  如果推送失败,用git pull 从远程拉取最新的提交在本地合并

3.  解决冲突后,在本地提交

4.  用 git push origin   命令推送自己的提交

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to=origin/ 

标签

提交的时候有一个commit id,如f52c633,很难记住,而标签tag相当于一个容易记住的名字,如v1.0,标签与某个commit绑定

在当前分支打一个标签(会与最新的commit id绑定)

git tag v1.0

给某个commit id打标签

git tag v1.0 f52c633

查看标签

git tag

创建带有说明的标签

git tag -a v1.0 -m "1.0版本" f52c633

查看标签的说明

git show v1.0

删除一个本地标签

git tag -d 

推送一个本地标签

git push origin 

推送所有未推送过的本地标签

git push origin --tags

你可能感兴趣的:(Git常用指令与用法记录)