最近换了工作,新公司要用git管理代码,所以就学习了下常用的git命令,下载了几个比较好用的管理软件试用了下。下面就给大家分享下吧。希望能对大家有点帮助。
1.git命令
git使用记录
1.生成密匙:ssh-keygen-trsa几次回车,在.ssh/下的id_rsa.pub即为密匙文件;
2.获取git分支:
A.远程获取:(路径须绝对路径)
gitclonegit@192.168.1.50:/home/git/repositories/project.git.(注意在最后加个点是为了避免clone时在当前目录下新建一个git目录)
B.本地获取:(路径为相对路径即可)
gitclonegit@192.168.1.50:project.git.C.查看所获取分支的路径:
gitremote-vD.切换到某个分支:
gitcheckout$branchname
3.分支的新建与删除:
A.新建:
gitbranch$branchname
(注意在哪个分支上执行就是基于哪个分支新建)
gitpushorigin$branchname(推到服务器仓库)
B.删除:
gitbranch-D$branchname
(删除本地的分支)
gitbranch-rdorigin/$branchname(删除服务器仓库分支)
gitpushorigin:$branchname
(注意冒号)
gitremotepruneorigin(同步远端已删除分支)
4.修改内容查看及提交:
A.查看未提交的修改:
gitstatus/gitstatus.(查看修改的文件)
gitdiff/gitdiff.(查看修改的内容)
B.查看已提交修改:
gitlog
(查看提交信息)
gitwhatchanged(查看每个提交修改的文件)
gitdiff$2$1
(查看莫个"提交ID"$1的修改内容)
C.还原被修改文件:
gitcheckout-f*/$fileanmeD.提交修改:
gitadd*/$filename(将新建文件加入仓库)gitcommit*/$filename-m"***"
/gitcommit-a-m""
(提交修改/提交当
前所有修改,删除一个文件也可以)
gitpushorigin$branchnameE.还原到某个提交ID前:
gitreset“$提交ID”
(注意避免冲突:如果本地有修改过即将还原的文件,
可以先备份it,然后gitcheckout-f$it)
gitpushorigin$branchname--forcegitpullorigin$branchnameF.提取同一仓库不同分支的修改:
gitcherry-pick“$提交ID”
G.解决冲突:
gitdiff.vi*/$冲突文件
(注意去掉---->HEAD之类的冲突提示)
gitadd*/$冲突文件
gitcommit-c"产生冲突的$提交ID"gitpushorigin$branchnameH.清除当前所有修改:
gitcheckout-f&&gitclean-df
5.忽略一些不需要管理的文件/类型:
vi.gitignore
6.一些常见的异常处理:
A.分支在别处又提交,本地提交不了:
gitpullorigin$branchname然后再提交;
B.新建仓库时,遇到漏提交文件:
find.-name".git*"|xargsrm-rf{}
7.打gitpatch:
patch-p1<$patchfile.patch(用过可以,但是不能新建.a/.so等库文件)
或者
gitapply$patchfile
2.mac系统下比较好用的git管理工具
(1)gitx。 这个是刚入职的时候,同事发给我的。不过可能是版本的问题,我一点开就挂了,后来在网上自己又找了一个,用起来还可以。
(2)sourcetree。这个工具还是蛮好用的,在appstore里面就可以直接下载