写代码啦
【Git入门234】Git本地仓库常用操作流程2_分支相关操作_大总结
回复数(0) 浏览数(50)
{{topic.upvote_count || 0}} 编辑 回复

创建分支git branch

git branch x

仅创建一个叫x的分支拷贝,不对代码进行任何变动

  • 可以创造平行时间线x
  • 术语叫“分支”
  • 虚拷贝,引用
  • 可以同时基于master/branch x开发

切换分支git checkout

  • .git同时维护master和branch x
git checkout x
git checkout master
  • 两个时间线交替进行
  • 时不时查看下git status
  • ls -a/pwd下查看目录
  • 分别修改了各自分支后...
    看历史,非git命令
history

小结

git branch

  • [x] 基于当前最新commit创建一个新的时间线(分支的快照),不是基于当前代码
  • [x] 在哪个分支提交,代码就出现在哪个分支
  • [x] 默认在master主分支
  • [x] Cmder/git-bash会提示目前所在的分支,如果你初始化过,iterm2默认不会,要设置

git checkout

  • [x] 用于切换另一个分支
  • [x] 当前目录有未add/未提交的代码,只要跟另一分支不冲突,就不需要理会,不影响硬盘上原有的文件(git reset是影响的)
  • [x] 如果冲突(修改了文件内容),会报一个error,使git checkout 切换失败
  • [x] 此时要么git commit下,要么使用git stash合并冲突

直接查看当前所在branch

不加参:

git branch

输出:

* master
  x

*就表示当前所在branch,智能的Cmder就不用了

合并分支git merge

1. 切到你想保留的那个分支,一般是主分支master

git checkout master

2. 将另一个分支合并到当前分支

git merge xxx

3. 提示有冲突,查看status

git status

4. 在VSCode里逐行修改

  1. 找到========
  2. 逐行修改,删掉=======
  3. 删掉标记<<<<<<<
  4. 删掉标记>>>>>>>
  5. 保存,修改完毕

5. git add标记下(暂存)

git add

6. 直接提交

git commit

不用加参数,自动添加标记 Merge branch 'xxxx'

git merge 可能有冲突,也可能没

  • 发现冲突
  • [x] 合并分支时 ,会得到CONFLICT提示
  • [x] 使用git status -sb查看哪个/哪些文件冲突了
  • UU表示两边都改了
  • s表示summary b表示brunch
  • 解决冲突
  • [x] 依次打开每个文件
  • [x] 搜索====四个等于号
  • [x] 在上下两个部分中选择要保留的代码,只选上面/只选下面/都保留
  • [x] 删除不用的代码
  • [x] 删除==== <<<< >>>>这些标记
  • [x] git add 暂存对应的文件
  • [x] 再次 git status -sb,解决下一个文件的冲突
  • [x] 直到没有冲突,运行git commit(注意不需要选项)

小结2

  • 分支可以合并

  • [x] 进入要保留的分支

  • [x] 运行git merge xxx

  • [x] 合并后,删除无用的分支git branch -d xxx

  • 合并时冲突处理

  • [x] 修改代码,解决冲突

  • [x] 然后git commit,使用默认的commit message

Git本地仓库_大总结

命令

  • [x] git config (6行配置)
  • [x] git add 路径 (标记:加进/移除购物车 暂存)
  • [x] git status -sb (简化状态信息)
  • [x] git commit -v (提交:结算+记笔账)
  • [x] git branch xxx (创建分支)
  • [x] git checkout xxx (进入分支)
  • [x] git merge xxx (合并分支,还要add下,加进购物车)
  • [x] git commit (提交合并,自动记账)
  • [x] git branch -d xxx (砍掉分支)
  • [x] git log (查看)
  • [x] git reflog (本地上帝视角查看)
  • [x] git reset --hard ****** (版本穿越)

.git目录:本地仓库

  • [x] 不会重复复制相同的文件(优化)
  • [x] 可以支持多个分支

一些细节

  • [x] git add
  • 使用git add来临时记录变动外,也能记录git rm xxx(处理的是文件的变化,而不是文件本身)

比如删除一个文件后,依然要用git add 来添加到待提交区

rm xxx
git add xxx
git status
git commit -v

当使用git commit提交后,.git会移除xxx:
此时git add xxxgit commit -m"delete xxx" 等同于 git rm xxxgit commit -m"delete xxx"

  • [x] 大部分时候,只需git addgit commit -v
  • [x] 不需要GUI,当然你会用,还知道原理

VSCode插件git-easy使用:在当前文件里Ctrl + Shift + p;搜git addAdd All Modified;...


·未完待续·


参考文章

相关文章




{{topic.upvote_count || 0}}

创建分支git branch

git branch x

仅创建一个叫x的分支拷贝,不对代码进行任何变动

  • 可以创造平行时间线x
  • 术语叫“分支”
  • 虚拷贝,引用
  • 可以同时基于master/branch x开发

切换分支git checkout

  • .git同时维护master和branch x
git checkout x
git checkout master
  • 两个时间线交替进行
  • 时不时查看下git status
  • ls -a/pwd下查看目录
  • 分别修改了各自分支后...
    看历史,非git命令
history

小结

git branch

  • [x] 基于当前最新commit创建一个新的时间线(分支的快照),不是基于当前代码
  • [x] 在哪个分支提交,代码就出现在哪个分支
  • [x] 默认在master主分支
  • [x] Cmder/git-bash会提示目前所在的分支,如果你初始化过,iterm2默认不会,要设置

git checkout

  • [x] 用于切换另一个分支
  • [x] 当前目录有未add/未提交的代码,只要跟另一分支不冲突,就不需要理会,不影响硬盘上原有的文件(git reset是影响的)
  • [x] 如果冲突(修改了文件内容),会报一个error,使git checkout 切换失败
  • [x] 此时要么git commit下,要么使用git stash合并冲突

直接查看当前所在branch

不加参:

git branch

输出:

* master
  x

*就表示当前所在branch,智能的Cmder就不用了

合并分支git merge

1. 切到你想保留的那个分支,一般是主分支master

git checkout master

2. 将另一个分支合并到当前分支

git merge xxx

3. 提示有冲突,查看status

git status

4. 在VSCode里逐行修改

  1. 找到========
  2. 逐行修改,删掉=======
  3. 删掉标记<<<<<<<
  4. 删掉标记>>>>>>>
  5. 保存,修改完毕

5. git add标记下(暂存)

git add

6. 直接提交

git commit

不用加参数,自动添加标记 Merge branch 'xxxx'

git merge 可能有冲突,也可能没

  • 发现冲突
  • [x] 合并分支时 ,会得到CONFLICT提示
  • [x] 使用git status -sb查看哪个/哪些文件冲突了
  • UU表示两边都改了
  • s表示summary b表示brunch
  • 解决冲突
  • [x] 依次打开每个文件
  • [x] 搜索====四个等于号
  • [x] 在上下两个部分中选择要保留的代码,只选上面/只选下面/都保留
  • [x] 删除不用的代码
  • [x] 删除==== <<<< >>>>这些标记
  • [x] git add 暂存对应的文件
  • [x] 再次 git status -sb,解决下一个文件的冲突
  • [x] 直到没有冲突,运行git commit(注意不需要选项)

小结2

  • 分支可以合并

  • [x] 进入要保留的分支

  • [x] 运行git merge xxx

  • [x] 合并后,删除无用的分支git branch -d xxx

  • 合并时冲突处理

  • [x] 修改代码,解决冲突

  • [x] 然后git commit,使用默认的commit message

Git本地仓库_大总结

命令

  • [x] git config (6行配置)
  • [x] git add 路径 (标记:加进/移除购物车 暂存)
  • [x] git status -sb (简化状态信息)
  • [x] git commit -v (提交:结算+记笔账)
  • [x] git branch xxx (创建分支)
  • [x] git checkout xxx (进入分支)
  • [x] git merge xxx (合并分支,还要add下,加进购物车)
  • [x] git commit (提交合并,自动记账)
  • [x] git branch -d xxx (砍掉分支)
  • [x] git log (查看)
  • [x] git reflog (本地上帝视角查看)
  • [x] git reset --hard ****** (版本穿越)

.git目录:本地仓库

  • [x] 不会重复复制相同的文件(优化)
  • [x] 可以支持多个分支

一些细节

  • [x] git add
  • 使用git add来临时记录变动外,也能记录git rm xxx(处理的是文件的变化,而不是文件本身)

比如删除一个文件后,依然要用git add 来添加到待提交区

rm xxx
git add xxx
git status
git commit -v

当使用git commit提交后,.git会移除xxx:
此时git add xxxgit commit -m"delete xxx" 等同于 git rm xxxgit commit -m"delete xxx"

  • [x] 大部分时候,只需git addgit commit -v
  • [x] 不需要GUI,当然你会用,还知道原理

VSCode插件git-easy使用:在当前文件里Ctrl + Shift + p;搜git addAdd All Modified;...


·未完待续·


参考文章

相关文章




50
回复 编辑