Git学习笔记

Git学习笔记


1.初始化仓库

Command line instructions

Git global setup

git config --global user.name "panjinquan"
git config --global user.email "panjinquan@dm-ai.cn"

Create a new repository

git clone http://192.168.3.29:8082/panjinquan/DMFaceRecognition.git
cd DMFaceRecognition
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder

cd existing_folder
git init
git remote add origin http://192.168.3.29:8082/panjinquan/DMFaceRecognition.git
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository

cd existing_repo
git remote rename origin old-origin
git remote add origin http://192.168.3.29:8082/panjinquan/DMFaceRecognition.git
git push -u origin --all
git push -u origin --tags

2.分支操作

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# 新建一个分支,并切换到该分支
$ git checkout -b [branch]

# 新建一个分支,指向指定commit
$ git branch [branch] [commit]

# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]

# 切换到指定分支,并更新工作区
$ git checkout [branch-name]

# 切换到上一个分支
$ git checkout -

# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]

# 合并指定分支到当前分支
$ git merge [branch]

# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]

# 删除分支
$ git branch -d [branch-name]

# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

3. 退回到指定tag版本

可能用到的命令:

查看当前分支:git branch

切换分支:git checkout master(分支名)

查看tag:git tag

查看当前git状态:git status

显示所有提交过的版本信息: git log

查看所有分支的所有操作记录: git reflog

1. 查看某个tag的详情:git show v1.3.5 

返回:commit  backid(回退命令就用这个id)

2. 通过commit的id回退:git reset --hard backid

  如果这个时候你立马投入与bug的战斗,修改后发版本,那么你就犯了严重的错误,因为你修改后的代码是无法与正在开发的版本合并哒,也就是说你的修改并不能加入现有的代码。所以: 特别注意:通过标签回退版本后,要马上拉一个分支,然后当前主干分支要立即回到原来的位置,否则正在开发的代码可能白干了,接着在刚拉的分支上修改bug,修改完毕合并到主干上 (验证过,是对的)

3. 回退版本后,立即拉取分支,这里取名bugfix分支:git checkout -b bugfix

4. 请先回到主干分支上:git checkout master 

5. 切换到bugfix分支,修改bug。就可以按照原先的开发流程继续工作

操作过程中容易出现直接checkout指定的tag,这种是有问题的,

git checkout tag_name 这时候 git 可能会提示你当前处于一个“detached HEAD" 状态。(detached 分离的,这时候head指向了tag,但是idea的version control内能看到一个叹号!)

因为 tag 相当于是一个快照,是不能更改它的代码的。出现这种问题,可以直接pull一次代码,这时候head就会转到操作之前的HEAD

参考文章:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI吃大瓜

尊重原创,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值