GIT 学习笔记

此文记录一些git常用命令:

git config --global credential.helper store 保存账号密码,不用每次都输入
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git init  #用来把目录变成git可以管理的仓库
ls -ah  #可以看见隐藏文件
git add <file> #用来把文件添加到仓库,可一次添加多个文件
git commit -m #"描述" 用来把文件提交到仓库
git status  #用来查看仓库的当前状态
1 git checkout -b feature-hu develop # 从develop分支新建并检出feature分支
2 # 这里可以进行一些功能开发,并不断的add和commit
3 # 切换回develop分支
4 git pull origin develop # 更新远端代码,看develop分支是否有更新(无更新)
5 git checkout feature-hu # 切换回feature分支
6 git rebase develop # 合并develop分支到feature分支,并解决冲突(无冲突)
7 git checkout develop # 切换回develop分支
8 git merge --no-ff feature-hu # 合并feature分支到develop分支
9 git push origin develop # 推送develop分支到远端
 1 git checkout -b feature-zz develop # 从develop分支新建并检出feature分支
 2 # 这里可以进行一些功能开发,并不断的add和commit
 3 git checkout develop # 切换回develop分支
 4 git pull origin develop # 更新远端代码,看develop分支是否有更新(有更新)
 5 git checkout feature-hu # 切换回feature分支
 6 git rebase develop # 合并develop分支到feature分支,并解决冲突(有冲突)
 7 # 这里需要进行冲突解决
 8 git add . # 解决完冲突之后执行add操作
 9 git rebase --continue # 继续刚才的rebase操作
10 git checkout develop # 切换回develop分支
11 git merge --no-ff feature-zz # 合并feature分支到develop分支(无冲突)
12 git push origin develop # 推送develop分支到远端
git diff # 用来查看文件做了什么修改
git log --pretty=oneline # 命令显示从最近到最远的提交日志
git reset --hard HEAD^ #回滚到上一个版本(最近提交)
git reflog # 用来记录你的每一次命令
git reset --hard commit_id
git diff HEAD -- <file> # 用来查看工作区和版本库最新版本的区别
git checkout -- file # 用来丢弃工作区的修改
git reset HEAD file # 用来把暂存区的修改撤销掉,重新放回工作区
git rm # 从版本库中删除文件
git checkout -- file # 从版本库中恢复删除的文件
git checkout # 是用版本库里的版本代替工作区的版本
git remote add origin git@server-name:path/repo-name.git # 关联一个远程库 
git push -u origin master # 第一次推送master分支的所有内容
git push origin master # 第一次推送之后就可以使用该命令推送最新修改
git clone git@github.com:GitHuUser/gitskills.git
git branch # 命令来查看分支
git branch <name> # 创建分支
git checkout <name> # 切换分支
git merge dev # 把dev分支的工作成果合并到当前分支上
git branch -d <name> # 删除分支
git log --graph # 命令可以看到分支合并图
git log --graph --pretty=oneline --abbrev-commit
git merge --no-ff -m "merge with no-ff" dev --no-ff # 参数表示禁用Fast forward
git stash # 把当前工作现场"储存"起来,等以后恢复现场后继续工作
git stash apply #恢复工作现场,但是stash内容不删除,可以用git stash drop删除,或者直接用git stash pop
git stash list # 查看stash内容
git branch -D dev # 可以强制删除分支
git checkout -b dev origin/dev # 创建远程origin的dev分支到本地

====================***********************====================
====================***********************====================
====================***********************====================
多人协作的工作模式通常是这样:

首先,可以试图用git push origin branch-name -f推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字

这就是多人协作的工作模式,一旦熟悉了,就非常简单
====================***********************====================
====================***********************====================
====================***********************====================

总结

这里总结了一个图,用来理解多人协同开发:

posted @ 2018-04-19 16:50  老王和小杨  阅读(...)  评论(...编辑  收藏