在git@osc中建立一个项目:demo git
从远程把项目拉取到本地 fetch
$ git clone https://xxx/xxx/xxx/demo.git spa
查看当前的分支 .net
$ git branch 继承
$git branch -r 查看远程分支 进程
查看远程主机名 开发
$git remote -v rem
在demo目录下建立了一个文件a.txt。如今要把这个文件添加到本地 get
$ git add . --undo: $ git reset [文件名] 或 $ git reset it
提交添加的文件
$ git commit -m 'i commit file name a' --undo $ git reset HEAD^
查看git当前的状态
$ git status
提交到远程
格式:$git push <远程主机名><本地分支>:<远程分支>
$ git push origin master
提交时会要你输入用户名和密码
方法1:编辑文件 .git/config,在文件的末尾添加下面内容,第二次就不用输入密码了
[credential]
helper = store
注意: 若是忽略<远程分支>,则远程分支名与本地名一至,若远程无该分支就建立
修改a.txt 添加内容 ‘aaaaaaaaaaaaaaaaaaa’
--undo: $ git checkout -- a.txt 或 $ git checkout -- .
修改后的a.txt提交了
--undo : $ git reset HEAD^ 这里回退到文件编辑的状态下(还没add)
提交到远程了,可是我想将本地和远程的版本回退step1
$ git reset --hard HEAD^ 本地回退
$ git push -f origin master 将本地的版本强推送至远程
本地建立通过了5次的提交,如今想退到第1次的提交
$ git reset --hard HEAD~4 本地回退
$ git push -f origin master 将本地的版本强推送至远程
手动删除一个文件dev.txt,要更新到库中
--undo : $ git checkout -- . 撤消全部修改的内容(删除,修改)
$ git add -A --undo : $ git reset . $ git checkout -- .
$ git commit -m 'delete dev.txt' 更新本地库
$ git push origin master 更新远程库,在更新远程时最好pull一下
第二种
$ git rm <文件名> 用命令删除一个文件,‘*’表示全部
$git commit - m ‘delete dev.txt’ 后面的与第一种操做同样了
在远程建立了一个分支dev
将远程的分支更新到本地
$ git pull origin dev:dev 将远程的分支拉取到本地
$ git checkout dev 切换至dev的版本
本地分支dev通过了5次的更新 ,如今要想将其合到master中
$ git push origin dev:master 这时远程的分分合并完成了,但本地还未更新
$ git pull origin master:master 将远程的master分支更新至本地master分支
第二种(当前分支为master)
$ git merge dev 将本地的dev分支合并到远程的master中
$ git push origin master 将本地的master更新至远程中
在本地建立一个faster分支并切换到该分支中,而后提交至远程
格式:branch <新的分支><继承的分支>
$git checkout -b faster -b:建立并切换,<继承的分支>为当前的分支
$git branch 查看分支,带‘*’表示当前分支
$git push origin faster 将faster分支推送到远程,若是远程无该分支就自动建立
在本地删除faster分支并更新到远程中
$ git branch -D faster 强制删除,用于远程分支与本地分支版本不一至时
$git branch -d faster 通常的分支删除操做
$ git push origin :faster 删除远程的分支
在远程删除dev分支并更新到本地中
$ git push origin :dev 删除远程的分支dev
$git branch -d dev 不知道如何两步,只能手动删除本地分支
代码强推送(若是远程主机的版本比本地更新push将会报错,这时能够强推送),结果致使远程主机上的更新版本被覆盖
$ git push --force origin master 或
$ git push origin master -f
※ Pull 取回远程主机某个分支的更新,再与本地指定的分支合并
格式:$git pull <远程主机名> <远程分支>:<本地分支>
$git pull origin master --若是是与当前分支合并<本地分支可不用指定>
注意:若是Fetch 远程内容更新到本地,一般用来查看其余人的进程,由于它取回的代码对你本地的开发代码没有影响。默认取回全部分支的更新 $git fetch origin
格式 $git fetch <远程主机名> <远程分支>
$git fetch origin master
列出远程主机名 包括网址
$git remote -v
添加远程主机
$git remote add <主机名> <网址>
删除远程主机
$git remote rm origin
远程主机更名
$git remote rename <原> <新>
Push
格式 $git push <远程主机名><本地分支>:<远程分支>
若是少了<本地>分支则删除<远程分支>如:
$git push origin :master 等于
$git push origin --delete master