【Git】基本命令使用

init:

  1 git init

 

添加远程分支:

  1 git remote add <远程主机名>  <远程主机地址url>

  例如:git remote add origin https://onboard.cn/git/1234/projects/1234/TATA.git

 

push:

  1  git add .

  2 git commit  -m "reason for this commit"

  3 git push <远程主机名> <本地分支名>:<远程分支名>

  例如:git push onboard master:android

 

pull:

  1 git pull <远程主机名> <远程分支名>:<本地分支名>

 

checkout:

  创建本地新分支并切换到新分支上,并推送到远程主机,创建新的远程分支

  1 git checkout -b <本地分支名>

  2 git push <远程主机名> <本地分支名>

  创建远程新分支成功。

  checkout -b 主要是用来多人协作中创建个人分支,更改代码后提交到自己的分支中,然后pull request,经过审核后就可以合并到主分支中。

stash:

  git stash主要是将当前本地修改后的代码保存到缓冲区,这样当你在pull远程代码时发生冲突后可以将远程的新代码先pull下来,并且不会丢失之前修改的代码。

  1 git stash 

 

删除git仓库中某一文件夹:

例如不小心把.ideapush到git仓库中,结果各种冲突,想把这个文件夹删除,怎么破?

1、echo '.idea' >> .gitignore

2、git rm --cached -r .idea

3、git add .gitignore

4、git commit -m '(gitignore commit and remove .idea)'

5、git push origin master

版本回退:

假如不小心删除文件,想回退到之前的版本,该怎么做?

so easy!

1、git log,查看提交日志

2、可以看到commit后面有一串字符,这个是版本id,通过:

git reset --hard e37f49a2755b1307f233c05b653f729682633c5d

就可以回到这个版本了

3、假如回到之前的版本后又觉得不对,怎么回到未来的版本?

git 

 

如果直接在master分支上做了修改并提交到了服务器,这种操作在上面所描述的分支模型中是严格禁止的,如果出现这种情况如何回退:

  • 在本地切到master分支下,使用 git chenkout -b temp-branch,这样就从master分支上创建了一个新的临时分支,并且切到这个分支下。
  • git reset –hard commitpoint, 这个commitpoint代表你要回滚的提交点
  • git branch -D master , 这个操作是删除本地master分支
  • git push origin :master, 删除远程服务器上得master分支,这里的删除就是推送一个空分支到远程master上。但是注意的是远程master可能是一个default设置,这样服务器是不允许删除master分支,这个时候就需要在项目设置上将default标签切换到另一个分支上,上面的删除操作才能成功
  • 将远程分支删掉后需要把回滚后的分支推到远程服务器上,git push origin temp-branch:master,这样就能完成回退操作
  • 最后是删除temp-branch 分支,git checkout master, git branch -D temp-branch.

 

撤销上次commit的内容,回退到需要add的阶段:

git reset --soft HEAD^

 

posted @ 2015-11-18 10:07  puyangsky  阅读(280)  评论(0编辑  收藏  举报