一,git的客户端选择
自带的Git Bash客户端;TortoiseGit客户端。
二,git的代码管理
2.1 采用git命令的方式 (推荐!!!)
2.1.1 将项目代码拉取下来并提交代码
git clone #项目地址#
git add . #将新建文件或文件夹从工作区被提交到暂存区
git commit -am '' #将执行修改或删除操作的文件提交到本地仓库
git branch -r #查看远程的分支名
git push origin refs/heads/#项目分支#:refs/for/#项目分支# #将本地版本库的分支推送到远程服务器上对应的分支
(refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要)
2.1.2 将dev分支代码合并到master分支
git checkout master #切换到master分支
git pull orgin master #把远程master上的代码pull下来
git merge --squash dev #把dev分支的代码合并到master上
git merge --no-ff dev #加上 --no-ff 参数,是为了让它生成一个新的 commit,这样就可以提交了
git status #然后查看状态及执行提交命令
问题:如果分支a给了代码但是不想提交,需要回滚到未修改之前的提交点,然后才能checkout其他分支
git log #查看git日志
git reset --hard 日志id, #本地回退到哪个提交点
git reset --soft HEAD~1 #回退commit版本,不删除修改的代码
git commit --amend 修改提交日志注释
问题:如果在dev分支修改了代码,想切换到master分支提交代码,但是checkout master失败
git stash #隐藏代码
git stash list #查看隐藏代码列表
git stash pop #将隐藏代码取消显示出来
2.2 Eclipse可视化界面的操作(良心推荐!!!)
2.2.1 Eclipse配置git
2.2.2 Eclipse使用git
#pull代码#
右键import --git,复制项目的ssh或http地址,选择项目分支,输入用户名和密码就可以拉取远程代码到本地。
#push代码#
选中项目,Team--Remote--Push
ps:
1.git本地生成私钥和公钥,并将git的公钥配置到http://smartgit我的SSH Public Keys里面。
2.git命令将远程代码拉取到本地
git clone #项目地址# #连接远程链接
git pull #拉取代码
git branch -a #查看分支
git checkout branch_browser_V6.6.0.0_test #检出远程代码到本地
git commit #本地提交
git push origin refs/heads/branch分支名:refs/for/branch分支名 #远程提交
git push origin HEAD:refs/for/branch分支名 #远程提交
git merge --squash branch分支名
3.小乌龟git提交过程
add
commit
push,push的时候改变地址refs/for/作为前缀
4.分支合并,将分支a合并到分支b,然后分支b再提交代码
4.1 先在分支a上面使用删除分支b, git branch -d 分支b
4.2 然后切换到分支b,任意提交一个修改的代码并push(git add 修改的文件;git commit ; git push)
4.3 其次将分支a合并到分支b,在分支b上面执行git merge 分支a
4.4 最后git push远程提交。
5.常用实操步骤
git clone
git pull
git status
git add .
git commit -m '提交代码说明'
git push origin HEAD:refs/for/分支a
git checkout 分支b
git merge --squash 分支a #将分支a合并到分支b
git status #查看状态,可能有冲突,编辑解决冲突项
git diff 文件名 #查看文件差异
git add .
git commit -m '合并分支'
git push origin HEAD:refs/for/分支b #审核通过就部署到远程仓库了
git reset --soft HEAD~1