git是一个类似于SVN的版本控制工具,托管项目需要自己创建git服务器和进行相关配置。
github是利用git工具开发的一个版本控制平台,可以将自己的项目托管上去。
使用git
先按照git客户端,同时会安装上git的命令行客户端,在里面可以checkout项目。
checkout是将master clone到本地,然后本地创建分支,创建的分支与master在同一目录,内部会有机制区别。master也相当于一个分支。
将本地创建的分支dev_yuan推送到远程代码服务器:
git push origin dev_yuan
---------------------------------------------------------------------------------------------------
如果本地没有远程分支,git切换成远程分支
git checkout dev_yuanlichao
---------------------------------------------------------------------------------------------------
删除远程分支dev_yuanlichao(注意origin与冒号之间有空格)
git push origin :dev_yuanlichao
---------------------------------------------------------------------------------------------------
删除本地分支dev_yuanlichao
git branch -d dev_yuanlichao(无更新则正常删除)
git branch -D dev_yuanlichao(强制删除)
---------------------------------------------------------------------------------------------------
master有更新,将更新替换到本地分支
1、将分支切换到master,右击工程->git->Repository->Pull->选择 origin/master,单击Pull按钮
2、切换到分支dev,可以在命令提示行下进行git merge master
---------------------------------------------------------------------------------------------------
merge是由于一些原因一直merging,不终止不能继续merge,终止merge
git merge --abort
---------------------------------------------------------------------------------------------------
查看本地所有分支
git branch
---------------------------------------------------------------------------------------------------
本地创建新分支
git checkout -b dev_
---------------------------------------------------------------------------------------------------
更改git账号
vim ~/.gitconfig
---------------------------------------------------------------------------------------------------
pull远程分支dev_yuan到本地分支dev_yuan(当前git bash操作是在dev_yuan分支内)
git pull origin dev
但是当出现“Your branch is up-to-date with orign/dev”的时候,需要先fetch一个新分支,然后再merge
get fetch origin dev:dev_tmp #将远程dev拉到本地为一个新分支dev_tmp
git diff dev_tmp #比较本地分支dev_yuan与本地分支dev_tmp的不同
git merge dev_tmp #将dev_tmp的更改合并到当前分支(本地分支dev)
然后再删除临时分支:git branch -d dev_tmp
---------------------------------------------------------------------------------------------------
下载远程已有分支dev_Time到本地,名称命名为dev_Time
git fetch origin dev_Time:dev_Time
---------------------------------------------------------------------------------------------------
git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿
git push <远程主机名> <本地分支名>:<远程分支名>
注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。
如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
---------------------------------------------------------------------------------------------------
git 删除已经 add 的文件
使用 git rm 命令即可,有两种选择,
一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;
一种是 git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。
---------------------------------------------------------------------------------------------------
git同名分支,本地先创建,远程git仓库后创建,如何将本地分支修改推送到远程同名分支?
直接push肯定会失败,需要先拉取远程分支的内容,解决冲突
git pull origin <your-branch-name> --rebase
解决冲突后再次推送,
git push origin <your-branch-name>