git常用命令

欢迎关注Github:

https://github.com/qian-lou/computer-science

1.代码仓库

1.1创建仓库

进入需要创建代码库的文件夹

cd 文件夹

创建/初始化仓库

git init

拉去远程仓库到本地

git clone

1.2添加文件到仓库

1.2.1添加文件到暂存区

添加单个文件

git add

添加所有文件

git add .

忽略文件

.gitignore中指定的文件会被忽略
空目录
1.2.2提交到本地仓库
git commit 

然后填写commit message,然后保存

不建议使用 :

git commit -m "commit message"

建议提交遵循commit message规范

1.2.3查看工作区状态
git status
1.2.4对比工作区文件变化
git diff

建议将Beyondcompare配置为diff工具,用于diff以及merge冲突

1.3仓库配置

1.3.1配置全局用户名和邮箱
git config --global user.name "name" 例如:git config --global user.name "zeny"
git config --global user.email "email address" 

若是个人开发机可以这样配置,若是公共编译机则不能这样配置

1.3.2配置当前仓库用户名和邮箱
git config user.name "name"
git config user.name "email address"

2.代码版本/提交切换

2.1查看过去版本/提交

2.1.1提交详情
git log
2.1.2提交简介
git log --pretty=online

2.2回退版本/提交

2.2.1回退到当前最新提交
git reset --hard HEAD
2.2.2回退到上次提交
git reset --hard HEAD^
2.2.3回退到上n次提交
git reset --hard HEAD~n
2.2.4回退到某次提交
git reset --hard commitid

2.3重返未来版本

2.3.1查看历史提交以及被回退的提交
git reflog

注意:该记录有时限,且只在本地

2.3.2回到未来版本
git reset --hard commitid

2.4撤销修改

2.4.1工作区文件撤销,没有提交到暂存区/没有git add, 撤销修改
git checkout 文件名
2.4.2暂存区文件撤销

将暂存区文件撤销到工作区

git reset HEAD 文件 
不带 --hard

撤销修改

git checkout 文件名
2.4.3提交了到版本库

参考回2.2退版本/提交

2.5删除文件

2.5.1删除文件,从版本库中删除文件
git rm 文件名

修改后需要提交

2.5.2恢复删除

参考2.4撤销修改

2.5.3从版本库中删除文件,但是本地不删除文件
git rm --cached 文件名

2.6重命名文件

2.6.1将文件重命名
git mv
2.6.2将文件夹重命名
git mv

2.7忽略文件

通过git仓库下的.gitignore文件屏蔽某些中间文件/生成文件

3.分支

3.1创建与合并分支

3.1.1创建分支

仅创建

git branch 分支名

创建并切换

git checkout -b 分支名

注意:在本地仓库操作,创建的都是本地分支

3.1.2切换分支
git checkout 分支名
3.1.3合并分支

合并某分支到当前分支

git merge 分支名

注意:合并分支时禁用fast forward

git merge --no-ff 分支名

下面的若无特殊需要不建议使用:

git rebase
3.1.4删除分支

删除本地分支

  • 删除未合并分支

    git branch -D 分支名
    
  • 删除已合并分支

git branch -d 分支名

删除远程分支:

  • 删除远程分支

    git push origin -d 分支名
    
    git push <远程仓库名> -d 分支名
    
  • 建议界面操作

3.1.5查看分支

查看当前分支:

git branch

查看所有分支信息:

git branch -a

本地分支为本地分支名;远程分支为<远程仓库名>/分支名

3.1.6合并分支,解决分支冲突
  • 将要合并非分支更新到最新

  • 切换到主分支

  • 合并分支

  • 解决合并时的conflict

  • 提交到版本库

  • 合并成功

  • 查看分支状态

    git log --graph
    
    git log --graph --pretty=oneline --abbrey-commit
    

3.2暂存修改

3.2.1暂存工作线程
git stash
3.2.2恢复工作现场

恢复:

git stash apply

删除:

git stash drop

恢复 + 删除:

git stash drop

3.3多人协作

3.3.1查看远程库信息

详细:

git remote -v

不详细:

git remote
3.3.2更新/推送远程库

更新远程库信息:

git fetch

将远程库最新修改更新到本地:

git pull
git pull 可以认为是
git fetch + git merge

将本地修改推送到远程库:

git push
git push origin 分支名
3.3.3本地分支与远程分支交互

使用远程分支A创建本地分支:

git checkout -b A origin/A

origin是远程仓库名,若名字一样origin/A可以省略

将本地分支与远程分支关联:

git branch --set-upstream A origin/A

提示no tracking information错误

4.代码版本tag

4.1查看tag

本地tag:

git tag

远程tag:

git tag -r

4.2操作tag

4.2.1添加tag

给当前版本添加tag:

git tag 标签名

给历史版本添加tag:

git tag 标签名 commitid
4.2.2删除tag

删除本地标签:

git tag -d 标签名

删除远程标签:

git push origin -d 标签名
4.2.3推送到远端仓库
git push origin 标签名

推送所有未提交的tag:

git push origin --tags
4.2.4更新到本地
git pull origin --tags

tag与branch的操作基本一致,因为tag就是一个仅可读的branch

5.其他生僻命令

git blame
git bisect  //过二分查找定位引入bug的变更
git relog

可以使用git help查看git常用命令,使用git help -a查看git可用的所有命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值