Git常用指令详细总结

1. 常用操作

  • 提交暂存:git add .

  • 提交改动:git commit -m "comments"

  • 推送改动:git push origin master

2. 新建Repo

  • 克隆Repo:git clone *.git

  • 新建Repo:git init

  • 添加远程Repo:git remote add origin *.git

3. 分支

  • 创建分支并切换:git checkout -b branch(若有改动需要先add,不commit)

  • 切换回主分支:git checkout master

  • 删除分支:git branch -d branch

  • 推送分支:git push origin branch

4. 更新合并

  • 更新至最新版本:git pull(=fetch + merge

  • 获取改动:git fetch <branch>

  • 合并改动:git merge <branch>

  • 查看不同:git diff <source_branch><target_branch>

  • 解决冲突:git mergetool

  • 强制同步到远程版本:git fetch, git reset --hard origin/master, git pull

5. 回滚

  • 查看历史改动(commit level):git log <--oneline>

  • 查看某个历史版本:git checkout "commit number"(返回主分支:git checkout master

  • 撤销最新commit(分离HEAD):git checkout -- <file>

  • 撤销暂存(不保存暂存,仅在本地使用):git reset HEAD<~N> .

  • 撤销暂存(创建新commit,保存之前的暂存,在公共分支使用):git revert HEAD<~N> .

  • 追加暂存内容到最新commit:git commit --amend

6. 忽略文件

使用.gitignore文件来忽略文件,具体规则如下:

# 此为注释 – 将被 Git 忽略
 
*.a       # 忽略所有 .a 结尾的文件
!lib.a    # 但 lib.a 除外
/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

解决改动.gitignore不生效的问题:

有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

倾城一少

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值