git积累

参考: https://www.cnblogs.com/ludashi/p/8213550.html
①学会Git使用: 根据《Git工具链10分钟入门WIKI》,学会使用Git
http://wiki.baidu.com/pages/viewpage.action?pageId=190527017

代码拉取:https://blog.****.net/duomengwuyou/article/details/51199597
HEAD -> refs/for/master (change http://xxx:8848/5312 closed): https://www.jianshu.com/p/b6f5755ec221

代码合并

  1. git merge:
    新建分支:git checkout -b bugFix,新建并切换到bugFix分支
    切换分支: git checkout master
    分支合并:在master分支上执行,git merge bugFix

  2. git rebase(变基):
    首先使用 git checkout -b bugFix, 新建并切换到bugFix分支上,并且使用 git commit 命令进行一次提交生成C2节点。
    然后使用 git checkout master 命令切换到master分支上,并且使用 git commit 命令进行一次提交生成C3节点。
    然后再使用 git checkout bugFix 命令切回到 bugFix 分支上。
    最后在bugFix分支上执行 git rebase master 命令,经其父类变成master。执行变基后,C2会和C3节点的内容进行合并生成新的节点C2,而bugFix分支的指针也会从C2节点移动到C2上,移动后bugFix之前的分支就会被废弃掉,取而代之的是从master延续下来的新分支。

回滚代码

https://www.cnblogs.com/songgj/p/8965580.html

  1. 没有git add, 只是修改了(即没有添加到暂存区):
    git checkout – filename来撤销修改 ; 通过git status可以查看是否已经git add
    git checkout --. 多个文件一次性撤销
  2. 已经git add,从暂存区撤销:
    git reset HEAD new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.php
    git reset HEAD 一次性将所有暂存区文件撤销回来
    git reset HEAD^1
  3. 已经git commit,:
    git revert 2842c8065322085c31fb7b8207b6296047c4ea3: 撤销某次操作,而在此次操作之前和之后的提交记录都会保留; 然后push到远端
    git reset :回到之前某个版本,那该提交之后的提交都会回滚,不过这种覆盖是不可逆的,之前的提交记录都没有了。所以平时开发中尽量注意,避免使用reset。
    git reset --hard commit_id: --hard – 强制将缓存区和工作目录都同步到你指定的提交

对比

对比两个分支
git积累

对比两个分支的某个文件
git积累
git积累

多人账户git配置

第一步:每个用户生成一对自己专属的SSH**
用-f参数指定**文件的位置,把下面例子中的yangyang22换成你的名字,一路回车

ssh-****** -t rsa -f ~/.ssh/id_rsa.chenxiu01

第二步:在~/.ssh/config中指定各个用户的**地址
【注】~/.ssh/config文件的权限必须是644,
chmod 644 ~/.ssh/config
按下面方式配置config文件,就能实现不同用户使用不同的**

Host icode.baidu.com
User chenxiu01
IdentityFile ~/.ssh/id_rsa.chenxiu01

git clone ssh://[email protected]就会用~/.ssh/id_rsa.chenxiu01来认证

第三步:把自己的ssh公钥(.pub文件内容)贴到icode上
cat ~/.ssh/id_rsa.chenxiu01.pub
在iCode右上角>个人设置>添加SSH Keys

备注:如果秘钥添加都正确,仍然报错:Bad owner or permissions on /home/map/.ssh/config
只需执行 sudo chmod 600 config即可~