git分支创建与合并

项目开发经历步骤:

1. 为实现某个新的用户需求,创建一个分支。

$ git checkout -b iss9527
Switched to a new branch "iss9527"

上面的命令等同于如下

$ git branch iss53
$ git checkout iss53

2. 在这个分支上开展工作并提交。

$ vim index.html
$ git add .
$ git commit -m '提交备注信息'
$ git push -u origin iss9527

正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:

1. 查看远程或本地分支

$ git branch -a ##查看远程分支
$ git branch ##查看本地分支

2. 切换到你的线上分支(production branch)。

$ git checkout master
$ git pull ##保险期间拉取最新的代码,毕竟多人开发

3. 为这个紧急任务新建一个分支,并在其中修复它。


$ git checkout -b hotfix
  Switched to a new branch 'hotfix'
$ vim index.html
$ git commit -a -m 'fixed the broken email address'
  [hotfix 1fb7853] fixed the broken email address
   1 file changed, 2 insertions(+)

4. 在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。

$ git checkout master
$ git pull  ##拉取最新代码
$ git merge hotfix  ##合并分支
  Updating f42c576..3a0874c
  Fast-forward
   index.html | 2 ++
   1 file changed, 2 insertions(+)

5. 如果需要可删除某个本地分支。

$ git branch -d hotfix
Deleted branch hotfix (3a0874c).

其它命令

更新远程分支列表
$ git remote update origin --prune

查看所有分支
$ git branch -a

删除远程分支Chapater6
$ git push origin --delete Chapater6

查看状态
$ git status

撤销commit
$ git reset --hard 提交id

提交到gitee
git remote add gitee https://gitee.com/fangzhenshi123/fangcs.git

push到gitee
git push gitee master

取消git add文件
git reset HEAD target/fangcs.jar.original

查看git配置环节
git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager-core
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
core.autocrlf=true
core.excludesfile=C:\Users\jonsnow\Documents\gitignore_global.txt
user.name=johsnow
user.email=[email protected]
core.repositoryformatversion=0

修改配置,或全局配置
git config user.name "johsnow"
git config --global user.name "johsnow"


git恢复merge的版本

第一步:git checkout  [分支]    切换到要恢复的分支上;

第二步:git reflog     查看历史版本号,找到要恢复的版本号;

第三步:git reset --hard  [版本号]    将本地代码回退到指定版本;

第四步: git push -f   将本地代码强制提交,覆盖远程git服务器代码;

备注:
.git log 命令可以显示所有提交过的版本信息
如果感觉太繁琐,可以加上参数  --pretty=oneline,只会显示版本号和提交时的备注信息
git log -5 --pretty=oneline
git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

例如执行 git reset --hard [版本号],退回到上一个版本,用git log则是看不出来被删除的commitid,用git reflog则可以看到被删除的commitid,我们就可以买后悔药,恢复到被删除的那个版本

你可能感兴趣的:(技术,git,git)