git 小结

来源:互联网 发布:淘宝店铺头像在哪里换 编辑:程序博客网 时间:2024/03/29 19:59

1,git add  将工作文件修改提交到本地暂存区
2,git commit -m "xxx" 提交当前工作空间的修改内容
3,git push 将本地commit的代码更新到远程版本库中
4,git push origin XXX  就会将本地的代码更新到名为XXX的远程版本库中
5,git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地
6,'git pull origin XXX' 就是将名为XXX分支的代码更新到本地的master分支
7,git log:查看历史日志
8,git branch XXX  新建分支
9,git checkout XXX  切换分支
10,git push origin XXX  将分支提交到远程
11,git merge XXX  合并分支
12,git branch -D XXX  和 git push origin :XXX 删除本地和远程分支

13,git status 查看提交状态

14,git clone git@*.git

删除远程分支所有内容

git rm-rf.# 删除原来代码树下的所有文件
git add .
git commit -a-m "XXX"
git push origin XXX


git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销

git revert HEAD^ 撤销前一次 commit

git revert HEAD^^ 撤销前前一次 commit

git revert fb374dc7d3a4f2dc3b5bfb643caebe89758ce191 撤销指定版本

git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,
版本会递增,不影响之前提交的内容

git reset --hard xxx:彻底回退到某个版本,本地的源码也会变为上一个版本的内容


远程更新主项目到本地

git remote add adsys git@git.umlife.net:adsys/ym-admin.git

git fetch adsys

git merge adsys/develop

git push


查看git 配置  vim .git/config

忽视修改过的文件 

git update-index --assume-unchanged 

恢复

git update-index --no-assume-unchanged<files>

不跟踪文件 sudo vim .gitignore


使用feature/xxx 不同主题分支提交

$ git checkout -b feature/xxx develop
# 写代码,提交,写代码,提交。。。
# feature 开发完成,合并回 develop
$ git checkout develop
# 务必加上 --no-ff,以保持分支的合并历史
$ git merge --no-ff feature/xxx
$ git branch -d feature/xxx


 修改后不提交切换到其他分支 

有如下几种处理方式:
1. add并且commit,再checkout,提交到当前分支
2. add但不commit,可以stash,然后checkout回来之后stash apply,在commit,提交到当前分支
3. add但不commit,也不stash,直接checkout,然后再commit的话,记录就在切换分支下面。

其背后的原因:一个本地的git repo只有一个工作区和暂存区,但是有多个分支的提交区,而我们的checkout只是将HEAD指针从一个分支切换到另一个分支。


本地重命名分支,远程的话需要先在本地重命名分支,然后删除远程分支,再push本地分支

  1. git branch -m <old_branch_name> <new_branch_name>  

0 0