-
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
-
放弃本地修改
未使用 git add 缓存到本地仓库。可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout . 命令。
-
切换分支 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; -
(创建新)\切换dev分支
创建新分支: git branch dev_xxx
切换分支:git checkout dev_xxx(分支名称);
推送到远程仓库: git push --set-upstream origin dev_xxx(分支名称); -
删除分支(例如dev分支)
删除本地dev分支:git branch -d dev(分支名称);
删除远程dev分支仓库:git push origin --delete dev(分支名称); -
dev分支合并到master
先切换到master分支: git checkout master;
merge融入dev分支内容: git merge dev;git merge命令用于合并指定分支到当前分支
推送到远程master仓库中:git push origin master; -
版本回退
查看之前提交记录:git reflog;
会退到某版本:git reset --hard 764ca4f(某一次提交记录记录);
推送到远程分支:git push -f; -
代码提交
添加到本地仓库:git add .;
提交本次记录:git commit -m '提交记录';
推送到远程仓库:git push origin master(分支名称); -
设置git账号
git config --global user.name "xxx";
git config --global user.email "xxx@gmail.com";
查看git配置信息:git config --list; -
配置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随意取,保存 ; -
版本标签管理
查看所有标签: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"; -
查看分支
查看本地分支:git branch
查看远程分支:git branch -r
查看所有分支:git branch -a -
修改本地分支名称
git branch -m dev_1 dev_2
-
清除stash历史
git stash drop stash@{id} 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。
或者 git stash clear 是清除所有stash。 -
比较修改差异
git diff不加参数即默认比较工作区与暂存区
-
修改最新commit信息
如果只修改最新一条提交信息的 log 内容,直接使用命令 git commit --amend
网友评论