首先在Stash上进行账户的创建,接下来在本地进行初始化等操作:
1.配置用户信息
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"
2.clone项目代码
克隆项目代码,一般先fork到自己的git仓库,然后再从自己的git仓库clone到本地
git clone http://xxx
这里有一个需要注意的地方,如果通过http进行代码clone的话,输入账户密码即可实现完成,如果通过ssh进行clone操作的话,首次克隆时会报错(public key问题),需要填加access key才可以进行clone操作
3.ssh key问题
接下来的问题就是如何生成ssh key:
(1)终端执行如下指令:
ssh-keygen -t rsa -C “xxx@xxx.com”
(2)连续进行3次回车操作,便生成ssh key
(3)公钥在~/.ssh/id_rsa.pub中,通过vim ~/.ssh/id_rsa.pub即可查看ssh key
一台电脑管理多个SSH key https://www.jianshu.com/p/c30e1f787b92
4.查看本地分支
git branch
5.查看远程分支
git branch -r
6.拉取远程分支并在本地创建新分支
git checkout -b 本地分支名x origin/远程分支名x
e.g: git checkout -b test_for_myself origin/staging
使用该方式会在本地新建分支x,并自动切换到该本地分支x,如果是ide的话,会自动刷新本地的代码状态
7.拉取代码流程
(1)fork至自己仓库
(2)setting设置自动更新
(3)clone至本地
—拉取最新分支到本地-----
本地git pull,然后checkout最新分支即可
8.切换到分支
git checkout test
实际使用需要养成的小习惯:
每进行一个功能的开发的时候,都从主干拉出一个分支进行功能开发,待功能开发结束之后,测试没有问题,再merge到master,不要所有功能都在一个分支上进行开发。
9.使用git stash命令保存和恢复进度
我们有时会遇到这样的情况,正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来,然后切换到另一个分支去修改bug,修改完提交后,再切回dev分支,使用git stash pop来恢复之前的进度继续开发新功能。下面来看一下git stash命令的常见用法
git stash
保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。使用git stash save 'message…'可以添加一些注释
git stash list
显示保存进度的列表。也就意味着,git stash命令可以多次执行。
git stash pop [–index] [stash_id]
git stash pop 恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。
git stash pop --index 恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)
git stash pop stash@{1}恢复指定的进度到工作区。stash_id是通过git stash list命令得到的 通过git stash pop命令恢复进度后,会删除当前进度。
git stash apply [–index] [stash_id]
除了不删除恢复的进度之外,其余和git stash pop 命令一样。
git stash drop [stash_id]
删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。
git stash clear
删除所有存储的进度。
复杂情况:
例如目前处于分支roleSystem,新建了文件,这时有人过来反馈一个bug,让马上解决,如上的直接使用git stash就不可以了,需要先进行git add .操作,将新建的文件存储起来,再进行git stash,如果不小心直接git stash操作了,并且git checkout getTree,发现getTree分支是乱的,也可以通过如下方式解决:
git checkout roleSystem
git stash apply
git add .
git stash
10.删除分支
【git 删除本地分支】
git branch -D br
【git 删除远程分支】
git push origin :br (origin 后面有空格)
11.reset之后覆盖线上仓库
git push -f origin lobManage
12.添加远程分支(添加主仓库)
git remote add master ssh://git@git.xxx.com/XXX.git
此时查看远程分支:
git remote -v
发现刚刚我们新建了一个名为master,假如之前本地已经有了名为origin的远程,在进行拉取远程本地新建分支时,就需要选择好远程来源,例如此处选择master:
git checkout -b lob_final master/lobManage
这样就从远程分支拉取了代码,同理,提交时也需注意,是提交到master还是origin需要选择好,不要提交错
删除远程分支:
git remote remove master
13.删除分支
命令git branch -a 查看所有分支
删除本地分支
git branch -d Chapater8 可以删除本地分支
14.git pull 有冲突之后回滚
git reset --hard
随着之后学习,陆续补充