linux git相关常用命令



生成不同的key
ssh-keygen -t rsa -f ~/.ssh/id_rsa.zxs -C "Key for zxs"

git push -f 强制提交覆盖

查看控制文件内容
git config  --list
创建全局
git config  --global user.emal [email protected]
git config  --global user.name "zxs"

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>
分支有冲突时手动改冲突文件 git status可以查看 然后提交 完事

bug分支
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场

新feature,最好新建一个分支;

如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

先git pull再push

设置本地dev和远程origin/dev的链接
$ git branch --set-upstream dev origin/dev

查看当前库状态
$ git status
$ git diff HEAD -- readme.txt 有什么不同

版本回退
$git log
commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao <[email protected]>
上一版本
$ git reset --hard HEAD^
$ git reset --hard 3628164
记录每一次命令
$ git reflog

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

删除
git rm test.txt
或者 git checkout -- test.txt




[远程操作]

显示配置了哪些远程服务器:                      $ git remote                                     

显示配置了哪些远程服务器,同时显示URL:         $ git remote -v             

显示远程 详细信息:                             $ git remote show origin

修改远程标识名字:                              $ git remote rename pb paul

删除远程配置:                                  $ git remote rm paul

增加一个远程配置:                   $ git remote add pb git://github.com/paulboone/ticgit.git


获取:                              $ git fetch pb

或者:                               $ git fetch origin

注意:

1)该分支可以用 pb/master 访问

2)获取到本地之后,并未自动merge,也未改变本地任何东西。

推送:                               $ git push origin master    (-u 是第一次推送分支所有内容)

注意,推送的条件:

1)从该远程克隆;

2)有写权限;

3)从上次克隆(或推送)至今没有更新,如果有更新,则你要先 fetch 然后再push。





你可能感兴趣的:(git命令)