http://blog.csdn.net/ttkatrina/article/details/51898189
http://blog.csdn.net/ttkatrina/article/details/51898189
http://blog.csdn.net/ttkatrina/article/details/51898189
http://blog.csdn.net/ttkatrina/article/details/51898189
![](http://static.blog.csdn.net/images/category_icon.jpg)
版权声明:本文为博主原创文章,未经博主允许不得转载。
有时候本地使用Git branch -a 仍然会看到远程已经删除了的分支,可以使用以下指令清理branch列表
git remote prune origin
或
git fetch -p
❤️2016.2.16 Git
Git 补充
git checkout 实际上是修改工作区文件的内容,让其指向不同的branch。
如果我们checkout的不是本地的branch 比如刚刚我checkout remote上的branch
就会出现detached 状态(感兴趣可以搜索 “git detached”)
这时候再用“git checkout -b *”来新建一条分 支就好了
避免出现detached 状态可将两条指令结合成一条:git checkout -b develop_project_zuolin remotes/origin/develop_project_zuolin
得到返回:
Branch develop_project_zuolin set up to track remote branch develop_project_zuolin from origin.
Switched to a new branch ‘develop_project_zuolin’
-b 代表新建并跳转到该分支
经过学习了解到下载远程分支到本地还有一个方法:
git fetch origin master:temp
这句命令的意思是:从远程的origin仓库的master分支下载到本地并新建一个分支temp (实际应用应该改一样名字以避免错误)
Git 廖雪峰
2016.3.15
如何更新远程代码到本地?
(1)如果本地什么都没有
直接克隆分支:
git clone -b develop git@10.1.1.217:eh-dev-Android/platform.git
得到反馈:
Cloning into ‘platform’…
remote: Counting objects: 3143, done.
remote: Compressing objects: 100% (1812/1812), done.
remote: Total 3143 (delta 1557), reused 2733 (delta 1257)
Receiving objects: 100% (3143/3143), 21.55 MiB | 10.21 MiB/s, done.
Resolving deltas: 100% (1557/1557), done.
Checking connectivity… done.
(2)如果本地有,且相对于上一次更新,代码修改过:
进入到有.git仓库的目录下,cd platform
查看所有branch:git branch -a
看到:
* develop
remotes/origin/HEAD -> origin/develop
remotes/origin/develop
remotes/origin/master
fetch和pull,git fetch origin develop没有作用后,
陆勇让checkout一个分支:(创建本地仓库,本地仓库不需要推送到远程,本地仓库的内容修改了再push到远程develop)
git checkout -b remoteDev remotes/origin/develop
(或者直接pull:git pull origin develop:remoteDev
结果:Already up-to-date.)
然后转移到develop分支:git checkout develop
发现有两个变化:
M App-Master/src/main/res/drawable-xhdpi/ic_main_tab_third_normal.png
M App-Master/src/main/res/drawable-xhdpi/ic_main_tab_third_pressed.png
Switched to branch ‘develop’
Your branch is up-to-date with ‘origin/develop’.
添加变化:git add .
查看下当前状态:git status
On branch develop
Your branch is up-to-date with ‘origin/develop’.
Changes to be committed:
(use “git reset HEAD …” to unstage)
modified: App-Master/src/main/res/drawable-xhdpi/ic_main_tab_third_normal.png
modified: App-Master/src/main/res/drawable-xhdpi/ic_main_tab_third_pressed.png
然后,需要提交变化:
并添加变化注释 git commit -m “主界面tab图标修改”
得到结果:[develop ca4f48c] 主界面tab图标修改
2 files changed, 0 insertions(+), 0 deletions(-)
rewrite App-Master/src/main/res/drawable-xhdpi/ic_main_tab_third_normal.png (99%)
rewrite App-Master/src/main/res/drawable-xhdpi/ic_main_tab_third_pressed.png (97%)
查看当前本地branch:git branch
看到:
* develop
remoteDev
再转到刚才新建的分支remoteDev:git checkout remoteDev
得到提示:
Switched to branch ‘remoteDev’
Your branch is up-to-date with ‘origin/develop’.
代码已经更新了。
提交代码:
git push origin remoteDev:develop
本地分支名和远程分支名的位置颠倒了。
得到结果:
Counting objects: 29, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (25/25), done.
Writing objects: 100% (29/29), 13.87 KiB | 0 bytes/s, done.
Total 29 (delta 15), reused 0 (delta 0)
To git@10.1.1.217:eh-dev-android/platform.git
b2c7ac2..71de04a develop -> develop
Git 廖雪峰
常见命令:
git init
git status
git diff
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
图形非常形象。
git add
git commit -m “注释”
cat readme.txt
git reset HEAD file
rm text.txt
GitHub:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000
learngit
git push -u origin master 推送并关联起来
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
把dev分支的工作成果合并到master分支上: gitmergedev合并完成后,删除dev分支: git branch -d dev
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -D
用git log –graph命令可以看到分支合并图
准备合并dev分支,请注意–no-ff参数,表示禁用Fast forward:
$ git merge –no-ff -m “merge with no-ff” dev
git log 看日志