工作中经常使用的git命令

git现在作为一个主流的版本管理工具,掌握它的用法对于开发者来说十分有必要。这里我就总结一下,平时工作中常用的一些git命令。这里就不再说git的安装过程了,一般公司都是将代码放在gitLab上管理的,首先,我们需要从gitLab上来拉取我们的项目代码。这里我们需要先生成SSH密钥,将公钥添加到gitLab上,这样才能拉取代码。

1.git生成ssh密钥

在命令行中,输入ssh-keygen -t rsa -C "youremail@example.com"命令,后面是公司给你开的邮箱账户。这条命令执行完后,检查你的用户名所在目录是否多了一个.ssh文件夹,window下就是C/用户/你的用户名/.ssh。Linux系统就是在/Users/用户名/.ssh,打开.ssh目录里的id_rsa.pub文件,将里面的内容复制,然后打开gitLab,点击Settings,选中SSH keys,将其粘贴,添加keys,这样就可以了。

2.拉取项目

直接克隆:git clone <remote repository address>

克隆指定分支:git clone -b branch(分支名) <remote repository address>

3.提交代码

提交代码,在git中是有几个步骤的。

  3.1 git add <file>

  这里可以git add <file1> <file2> <file3> , 也可以 git add <file1>,再执行git add <file2>,再执行git add <file3>, 还可以直接git add -A

  3.2 git commit -m "remark"

  这一步是将文件提交到本地仓库,remark是提交说明

  3.3 git push [origin branch]

  这一步是将本地仓库代码推送到远程分支,后面默认可以不写。

4.更新代码

命令 git pull

在多人合作开发项目时,当别人提交代码后,自己的分支就会落后于远程分支,需要先从远程拉取更新代码,自己才能提交。

5.冲突

冲突是不可避免的,当两个人同时修改一个文件时,需要我们自己去解决冲突,这里介绍一些解决冲突的办法。

  5.1 当你的代码git push时,出现冲突,这时肯定会失败,因为你的代码版本落后于当前的远程版本,可以先git pull,这个时候如果git无法帮你auto merge,需要你自己去解决冲突,然后在提交代码。

  5.2当你本地没有commit,git pull时出现冲突,可以使用git stash命令,然后执行git pull, 这个时候远程代码就被拉取下来了,再执行git stash pop,自己去手动解决冲突。Updated upstream 和=====之间的内容就是pull下来的内容, ====和stashed changes之间的内容就是本地修改的内容。解决完冲突后,就可以提交代码了。

6 代码回退

有时我们需要让远程代码覆盖我们本地的代码,或者我们想回退到某个版本,在那个版本上继续开发,这个时候就需要代码回退的功能。

回退到上一版本:git reset --hard HEAD^ 

回退到某一历史版本: git reset --hard <vesion-id>

7.查看本地变更了哪些代码

命令:git status

8.查看提交历史信息

命令:git log

9. 比较两个版本之间的代码差异

查看两个版本之间的代码差异:git diff <vesion-id1> <version-id2>

查看两个版本之间的代码差异名单:git diff <version-id1> <version-id2> --name-only

将两个版本之间的代码差异文件拷贝到某个文件夹下:cp --parents $(git diff <version-id1> <version-id2> --name-only) F:/diff/

10.查看分支

查看本地所在分支:git branch ,*表示当前所在分支

查看本地和远程所有分支:git branch -a

11.切换或创建分支

切换分支:git checkout <branch>

创建并切换分支:git checkout -b <branch>

将本地创建分支推送到远程分支(最好是同名):git push orgin <local-branch>:<remote-branch>

12.删除分支

删除本地分支:git branch -d <branch> 或者 git branch -D <branch>

删除远程分支:git push origin --delete <remote-branch>

13.合并代码

我们常常在多个分支上同时开发,这样就需要去将别的分支代码合并到主分支上,需要git merge <branch>这个命令

如果我们需要将sit代码合并到uat上,我们需要在uat分支上执行git merge sit这个命令。

14.常见的换行符转换问题

如果我们的开发人员,有的是在windows环境开发,有的是在mac或者linux上开发,这时就需要关注一下这个问题了,在.gitconfig配置文件中有添加自动转换配置,或者执行命令git config --global core.autocrlf true ,就可以自动转化了。

总结一下:git的命令很多,这里只简单说了一些常用的命令,对于平时工作使用的话应该就够了。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值