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 <remote> <url> 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 <branch-name> 命令推送自己的提交
2. 如果推送失败,用git pull 从远程拉取最新的提交在本地合并
3. 解决冲突后,在本地提交
4. 用 git push origin <branch-name> 命令推送自己的提交
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to=origin/<branch-name> <branch-name>
标签
提交的时候有一个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 <tagname>
推送一个本地标签
git push origin <tagname>
推送所有未推送过的本地标签
git push origin --tags
网友评论