命令 | 含义 |
git clone + 要克隆的地址 | 获取远程仓库 |
git fetch | 获取远程仓库的所有分支和数据 |
git merge | git merge origin/master 当远程分支和本地分支均有内容改动时,需要将本地与远程分支合并 |
git pull | =git fetch+git merge |
git push | 将本地代码推送到远程分支 |
git tag -a v6.21 -m "add tag" | 创建一个分支,创建了一个v6.21的分支 |
git push tags | 将所有分支推送到服务 |
git checkout + 分支名 | 切换分支 |
git branch -d v6.21 | 删除本地v6.21分支 |
git push --delete v6.21 + git push --delete origin v6.21 | 删除服务器v6.21分支 |
git branch -r | 查看远程分支 |
git status | 查看本地代码状态 |
git add | 增加文件,git add . 增加所有新增文件,git add +具体文件名, 增加某个具体文件 |
git commit -m "message" | 将本地文件放到缓存区 |
完成需求我曾经历过的步骤:
一、先拉下代码来
git clone http://~~~~~~~
二、从主分支上拉个自己的开发分支
1、git checkout master 切换到主分支
2、git branch dev_20170224 在主分支的基础上拉一个新的dev_20170224分支出来
3、git checkout dev_20170224 切换到刚建好的新分支上
4、git push origin dev_20170224 这时候push一下,个人理解相当于激活一下,不然git brach -r 查看远程分支的时候看不到刚刚建立的dev_20170224分支
三、开发完提交代码
1、git status 个人习惯在提交前看下做了哪些改动,如果发现有的文件不是我想修改的,就git checkout + 路径/文件名 (这个可以根据刚刚git status 后控制台 打出的modified : ~~~,其中~~~就是路径/文件名)撤销修改。慎用git checkout . 这个命令会撤销上次提交后所做的所有修改。
2、git add . 添加所有的新增文件,也可以git add + 具体某个文件。 如果没有修改只是在现有文件的改动,可省略该步骤。
3、git commit -m "提交。。需求" 为本次提交添加个备注
4、git pull --rebase 从远程分支上拉下代码, 没用冲突是最好了,有冲突解决下,打开冲突文件留下你想要的内容,删除冲突的,重复上面的提交步骤再提交下,冲突就没了。要对比两份文件可以用Beyond Compare 4,蛮好用的。
5、git push 代码push到远程分支
四、合并代码
1、git checkout master 切换到主分支
2、git pull origin master 拉下代码
3、git merge --no-ff dev_20170224 主分支代码和自己新拉分支代码合并下 (似乎有了git pull这行可以省略,但习惯了从来未省略过),有冲突要解决,然后再提交
4、git push origin master 提交下主分支的代码,搞定
五、其他偶尔会用到的命令
1、git merge 合并两个分支 因为git pull 实际上是git fetch + git merge ,所以这个命令我还没单独用过
2、git branch 查看当前所在的分支,偶尔会查查
3、git branch -r 查看远程分支,偶尔也会查查
4、git reset --hard origin/release-1.0 强制回到服务器上的某一状态,尽量不要用到这个命令,刚开始代码提交乱其八糟的时候自己都不知道发生了什么,用了下这个命令,回到了服务器上制定的状态。 git reset --hard HEAD^ 恢复到上一次的提交状态。
5、git checkout -b origin/dev_20170224 这样会新建一个本地的分支(origin/dev_20170224),远程没有,当然在这个分支上做的改动也无法提交到远程。如果要提交这个分支上做的改动,首先要把这个本地分支的commit上去(git add. git commit -m ""),然后切换到一个远程已有的分支(git checkout dev_20170224),再将本地分支合并过来(git merge origin/dev_20170224),最后再把代码提交上去(git pursh origin dev_20170224)
六、重装git遇到的问题
问题描述: git版本升级后提交代码,提示输入密码,输入密码后提示fatal: Authentication Failed 。首先重设了 user.name和 user.email git config --global user.name 'xxx' git config --global user.email 'xxx'。然并卵
最终解决办法:
1、重置远程分支 重置origin
git remote -v
git remote remove origin
git remote add origin .....
2、重置密码
git config --system --unset credential.helper
此时已经解决了,但是每次提交都要重新输入密码
3、记住密码
git config --global credential.helper store
输入一次后可不再输入