Git常用命令Git基本命令for QA 2

https://blog.csdn.net/weixin_42498050/article/details/81037572

博客的改版 影响不小。。。之前的博客无法编辑了。。。


 

个人git地址

https://gitee.com/QAls/dashboard/projects

用户名

2037632974@qq.com

密码 Mac电脑开机密码

 

 

12.  本地远程分支代码同步

 gco master

 git branch -d I2104 删除本地分支

 gco master

 git remote update --prune

 git pull

 git branch

 git branch -a

 git branch I2104 remotes/origin/I2104 同步远程 本地分支

 gco I2104

11. idea软件中含有中文时,git命令行的别名简称不生效

解决办法:修改App的名称(IntelliJ IDEA 2021 po解版为IntelliJ IDEA 2021),重启idea

ps -ef|grep -i idea|awk '{print $2}'|xargs kill -9

 

compinit:191: bad pattern: /Applications/IntelliJ IDEA 2021 \M-g\\M-4解\M-g((.app/Contents/plugins/terminal/.zshrc
qa@lishandeMacBook-Pro-4:~/Desktop/2021/code/cloud% gst
zsh: command not found: gst
qa@lishandeMacBook-Pro-4:~/Desktop/2021/code/cloud% git status
 

 

解决后为

 

10.  git 查看本地仓库,对应的远程仓库地址

git remote -v
origin  git@gitee.com:QAls/xx.git (fetch)
origin  git@gitee.com:QAls/xx.git (push)

 

9. git新项目

Command line instructions

You can also upload existing files from your computer using the instructions below.

Git global setup

git config --global user.name "xx"
git config --global user.email "xx@xx.com"

Create a new repository

git clone git@gitlab.xx.com:xx/javaauto.git
cd javaauto
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Push an existing folder

cd existing_folder
git init
git remote add origin git@gitlab.xx.com:xx/javaauto.git
git add .
git commit -m "Initial commit"
git push -u origin master

Push an existing Git repository

cd existing_repo
git remote rename origin old-origin
git remote add origin git@gitlab.xx.com:xx/javaauto.git
git push -u origin --all
git push -u origin --tags

8. 什么是 rebase?

git rebase 你其实可以把它理解成是“重新设置基线”,将你的当前分支重新设置开始点。这个时候才能知道你当前分支于你需要比较的分支之间的差异。
原理很简单:rebase需要基于一个分支来设置你当前的分支的基线,这基线就是当前分支的开始时间轴向后移动到最新的跟踪分支的最后面,这样你的当前分支就是最新的跟踪分支。这里的操作是基于文件事务处理的,所以你不用怕中间失败会影响文件的一致性。在中间的过程中你可以随时取消rebase 事务。

 

7. git push origin HEAD:refs/for/master 的意思

git push <remote 名字> <本地分支的名字> : <远程库的名字>

git push 肯定是推送
origin : 是远程的库的名字
HEAD: 是一个特别的指针,它是一个指向你正在工作的本地分支的指针,可以把它当做本地分支的别名,git这样就可以知道你工作在哪个分支
refs/for :意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的
refs/heads 不需要

http://wenda.baidu.com/ask/question/56798

 

6. rebase和merge的区别

rebase的提交线是一根直线不会产生黄色的merge线,merge就会多一个Merge XXX的commit,一般为了保证commit的线性都建议使用rebase

有冲突的话会在本地rebase后提交,这个没有冲突,直接界面就可以操作,也不用重新CR

本地执行 git rebase master,跟merge有一定的区别

 

5. 新入职员工配置git

git config --global user.name 'xx'
git config --global user.email 'xx@xx.com'
ssh-keygen -t rsa -C 'xx@xx.com'

会在/home/work/.ssh 下生成一对公私钥  私钥id_rsa  公钥 id_rsa.pub

把公钥文本内容复制粘贴到Git-个人中心-SSH公钥

记得编辑/.ssh/config文件

bash-4.1$ vim /xx/xx/.ssh/config

内容如下

User username
IdentityFile ~/.ssh/username.id_rsa

第一行为用户名 第二行为服务器.ssh目录下的私钥

 

以上配置好后再服务器拉取git代码 成功

4. 配置git多人在Linux机器上添加icode代码权限

加用户名

ssh-keygen -t rsa -f ~/.ssh/id_rsa.username

chmod 644 ~/.ssh/config

【注】~/.ssh/config文件的权限必须是644

 

vim ~/.ssh/config

添加如下内容:

Host xx
User username

# 私钥
IdentityFile ~/.ssh/id_rsa.username

最后在git配置公钥也就是id_rsa.pub的内容

4. Git对比,右侧的最新的提测代码,左侧是上个版本的代码

3. git本地库关联远程库,在本地仓库目录运行命令

step1:Command line instructions

Git global setup

git config --global user.name "XX"

git config --global user.email "XX@alibaba-inc.com"

step2:Create a new repository

git clone git@gitlab.alibaba-inc.com:XX/lsTest.git

cd lsTest

touch README.md

git add README.md

git commit -m "add README"

git push -u origin master

step3:Existing folder or Git repository (如果你是现在本地写好了代码再去git新建的仓库,则需要直接按照step3执行)

cd existing_folder

git init

git remote add origin git@gitlab.alibaba-inc.com:XX/lsTest.git

git add .

git commit

以上内容只需要第一次配置,新项目git关联只需要如下命令行

git init 

git remote add origin 远程git地址(ssh地址)

git branch --set-upstream-to=origin/master master

git push -u origin master

如遇如下报错,

则使用   git push -u origin master

$ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push

$ git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了

 

如遇

fatal: refusing to merge unrelated histories

解决办法:
➜  Auto git:(master) ✗ git pull origin master --allow-unrelated-histories
 

如果有冲突,可能是pom文件导致的。解决下冲突提交即可

如遇 fatal: refusing to merge unrelated histories

则 git pull origin master --allow-unrelated-histories

如有冲突解决冲突 看下代码状态,提交

2. 根据代码查找git地址

git remote -v 查看远程地址

地址为SSH的地址
git@gitlab.xx-yyy.com:zz/aa.git 

http://gitlab.xx-yy.com/zz/aa

 

 

1. Git比较分支差异命令

查看本地分支

git branch

查看远端分支,无论是否checkout到本地

git branch -r

假如想比较dev和master

命令1:比较文件内容的改动

git diff dev master

命令1:比较文件

git diff dev master --stat

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东方狱兔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值