1、github与团队的开发者github/gitlab保存同步
1.先查看是否建立主repo的远程库
git remote -v
2 查看有几个fetch源,如果有两个那就需要再添加一个
当你克隆了一个项目之后.它有一个默认的remote.叫做.origin.这是指你是在github上fork的.
而不是在原来的仓库.为了跟踪原本的仓库,你需要添加另一个叫做upstream的选项
git remote add upstream URL(别人的github地址)
git remote -v
然后就看到了upstream则说明添加成功
3.如果相与主repo合并
接收upstream 变更. 如果你fork的那个原来的仓库改变了,你可以使用下面的命令来更新你fork到本地的仓库.
git fetch upstream
git merge upstream/master
2、放弃本地修改
未使用 git add 缓存到本地仓库。
可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。
放弃所有的文件修改可以使用 git checkout . 命令。
3、切换分支 git checkout -b dev_pad_2019_08_21
dev为线上测试分支,dev_20xx为开发分支,并已进行开发新的功能,现在dev出现bug
- 查看当前处于分支: git branch -a;
- 把开发分支的提交到本地:git add---->git commit,不影响别的dev线上测试分支;
- 切回dev分支: git checkout dev;
- 修改dev分支bug;
- 提交fix bug代码到本地仓库:git add--->git commit
- 提交到远程仓库:git push;
4、(创建新)\切换dev分支
- 创建新分支: git branch dev_xxx
- 切换分支:git checkout dev_xxx(分支名称);
- 推送到远程仓库: git push --set-upstream origin dev_xxx(分支名称);
5、删除分支
例如dev分支
- 删除本地dev分支:git branch -d dev(分支名称);
- 删除远程dev分支仓库:git push origin --delete dev(分支名称); or user命令 git push origin -d dev(分支名称);
6、dev分支合并到master
- 先切换到master分支: git checkout master;
- 先拉去远程master分支:git pull;//防止本地代码与远程分支代码不一致
- merge融入dev分支内容: git merge dev;
git merge
命令用于合并指定分支到当前分支 - 推送到远程master仓库中:git push origin master;
7、版本会退
- 查看之前提交记录:git reflog;
- 会退到某版本:git reset --hard 764ca4f(某一次提交记录记录);
- 推送到远程分支:git push -f;
8、代码提交
- 添加到本地仓库:git add .;
- 提交本次记录:git commit -m '提交记录';
- 推送到远程仓库:git push ;
9、设置git账号
- git config --global user.name "xxx";
- git config --global user.email "xxx@gmail.com";
- 查看git配置信息:git config --list;
10、配置git SSH key
- 查看是否有ssh,切换到.ssh目录:cd ~ /.ssh;
- 如果存在 ,会进入.ssh目录中 :使用ls命令,可以看到如下信息:
id_rsa id_rsa.pub known_hosts - 如果不存在使用命令:ssh-keygen -t rsa -C "xxx@gmail.com";
- cat id_rsa.pub查看公钥内容,然后手动复制复制添加到GitHub/GitLab--->Settings--->SSH-->New SSH Key--->key中,title随意取,保存 ;
11、版本标签管理
- 查看所有标签:git tag;
- 添加标签:git tag v1.0.1(版本号);
- 推送到远程仓库:git push origin v1.0.1;
- 删除标签:git tag -d v1.0.1;
- 指定提交信息:git tag -a v1.0.1 -m "message description";
12、查看分支
- 查看本地分支:git branch
- 查看远程分支:git branch -r
- 查看所有分支:git branch -a
13 修改本地分支名称
- git branch -m dev_1 dev_2
14 清除stash历史
- git stash drop stash@{id} 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。
- 或者 git stash clear 是清除所有stash。
15 比较修改差异
git diff
不加参数即默认比较工作区与暂存区
16 修改最新commit信息
- 如果只修改最新一条提交信息的 log 内容,直接使用命令
git commit --amend
- git push
17 ADD撤销操作
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
18 commit后撤销操作
1、git reset --soft HEAD^ 这样就成功的撤销了你的commit,注意,仅仅是撤回commit操作,您写的代码仍然保留
19 删除远程分支后如何恢复远程分支代码(前提你本地未进行删除):
git push origin your_branch
20 GIT状态不一致:Your branch is ahead of 'origin/release' by 2 commits
1、git fetch --all
2、 git pull
3、 git reset --hard origin/release
21 GIT删除target远程文件(.gitignore忽略的文件)
git rm -r --cached xxx/target
git commit -m "xxx/target remove"
git push