[LINUX]git常用操作

  • 1.mkdir 生成目录

  • 2.cd XX 进入目录

  • 3.git init GIT初始化(生成项目仓库,生成后就编程了GIT工作树了):这个用得比较少的

  • 4.git add . 生成文件快照(是将文件添加到GIT仓库的前提)[git add xxx.txt(添加指定文档的快照),一般还是所有一起添加,因为可能修改了很多文档的]

  • 5.git commit -m “XXX” 提交到代码仓库,(将前面生成的临时快照提交到本地仓库中)(-m 提交相关说明信息)【git commit -a 这个也比较常用(如果没有新增文件,只是
    删除或者修改,那么没有必要add, 直接用commit -a即可将所有的修改和删除操作记录到本地git仓库中】 git commit --amend 修改最近一次提交的注释内容

  • 6.git remote add origin git@ 添加远程仓库

  • 7.git push -u origin master 将master push到Origin中

  • 8.设置全局变量: git config --global user.name “Name” – 设置名称 git config --global user.email emailaddres
    s – 设置Email

  • 9.生成快照前进行排除: echo “zh” > .gitignore(放入即可)

  • 10.cp -R XXX 复制到剪贴板

  • 11.git clone(克隆项目),包含仓库和整个工作树:注意这里clone不仅可用于终端服务器,也可以用于某一台电脑,远程克隆,比如: git clone lyr@192.168.0.7:~
    /work/m2ge m2ge就是克隆某台局域网电脑上的项目信息。(其实可以类比svn check out)

  • 12.git log 当前项目本地仓库更新日志git log --start --summary查看每次版本大致变动情况 以上这些平时我们都不太用得到,因为都放到了repo这个内容中了。

  • 13.撤销与恢复到某个版本 git -reset -mix -soft 可以长尝试后查看效果

  • 14.git pull address:其实就是将远端仓库和本地进行合并(代码合入,在svn中是在本地合入后上传的),在git中,实际是2步,先从远端仓库获取最新版本,然后合并到本地仓库上 至于
    为什么远端会有最新版本,是因为其他人push了。注意这里的合入,不同文档,或者相同文档不同行的修改自动合入,相同文档向同行的修改会发生冲突,和svn一样,还是要本地手动合入。
    但是比svn好的一点是git对于冲突,也会自动合并,只需要人工打开文件确认即可,格式为:

<<<<<<< HEAD:foo
ONE //库上代码
=======
one ONE//本地冲突代码
>>>>>>> 1116d3270764d91a25532a753a47b8b0e1b6f1b8:foo
  • 15.3人以上开发,一般流程:先clone,然后开发,然后add.,然后commit, 然后获取一下远端最新版本(svn更新),解决冲突(svn解决冲突),push即可,当然最好不要同一时间进行
    这些操作。可以看出和svn基本一致,只是git用cmd 命令操作,解决冲突方面有一点优势,本质一样,当然如果说到web版,git比svn强很多,即git可以共享更多资源。

  • 16.添加项目分支:git branch local,新增一个名称为Local的分支 查询当前项目内分支:git branch

  • 17.在分支间切换: git checkout local //切换到Local分支

  • 18.分支合并:merge git merge local

  • 19.删除分支: git branch -d local

  • 20.查看任何一个git命令详情: git command --help就会弹出对应说明

  • 21.查看具体改动: git show 后面跟具体的commit id,就可以查看具体内容的修改了

  • 22.tag: git tag:列出所有标签 创建:git tag -a name -m “remark”
    为某此提交贴上标签: git tag -a name fjksdj(提交的编号) 本地删除:
    git tag -d name 当然,如果你记忆力好,能记住每次提交的那个编码,其实就是commitid信息,可以完全不用标签,标签只是给某一个版本取个别名,方便自己记忆而已

  • 23.git status: 查看当前仓的改动 repo status:repo是google对于git的多仓库管理的一层封装,类似于一个repo下发多条git命令。 查看所有仓的改动

  • 24.git blame:查看当前仓库的提交,包含每一行代码是谁提交的显示: git blame(不需要用gitlog去查看谁修改的内容了):查看某一行是由谁提交的,会显示工号信息的,所
    以不需要添加注释(上库的时候),注释最多用来合下代码就可以了。打开文件显示之后,就可以像操作 vim一样进行数据查看了。包括直接使用vim的搜索功能,查看删除代码看不了,但是原来也基本看不了

  • 25.git show commitid:配合blame来使用,在blame中获取到commit id之后,就可以直接用git show commitid的语句来查看对应的内容的修改了。

  • 26.git checkout,add等一些命令是可以直接跟对应的文件对象的,可以跟多个,中间通过空格进行隔开就行了。

  • 27.git merge命令是将目标分支的所有内容merge到本分支中,通常是用于两个分支的同步,语法就是git merge

  • 28.git命令是可以进行自动联想的,所以输入的时候,其实只需要简写到能够自动联想和识别的程度就可以了。比如git commit --amend输入git commit --am命令其实就已
    经可以了。

  • 29.cd 直接就可以回到根目录的,不需要croot每次,可以优惠一下

  • 30.git clean -f 后面是可以直接跟上各种各样的内容的。file1,file2等,主要是对于新增的一些文件尽心删除操作的。

  • 31.git查看删除的文件提交记录 git log -p 删除文件名称

  • 32.http://blog.csdn.net/robertsong2004/article/details/46892047 git中查看包含某一个字符串的代码的删除记录。

  • 33.cherrypick过程中如果发生冲突,可以直接用git cherry-pick --abort进行终止。

  • 34.checkout clean等命令,不需要一个一个进行,可以用空格间隔,连续进行

  • 35.git reset --hard参数,其实就相当于不需要输入checkout了,为了安全起见,一般还是不会加hard参数的,后面自己手动checkout的。git

  • 36.要删除部分的新增的文件夹或者文件,可以直接跟在git clean -fd后面进行,加行文件路径或者文件夹路径即可 git

  • 37.在git上面查看代码比较(一些修改比较散的点,或者大致不需要关心上下文的点,可以使用这种方式进行处理。用法是git
    show 后面加上commit id就行了,后面就可以像查看差异一样进行显示相关内容

  • 38.git中sync到对应的changid当时的版本内容: repo sync -c --no-tags --ls Change-Id:I94b64e12285b940a300361c37

  • 39.git中的分离头指针状态:意思就是当前的head不在任何一个分支(branch)上面,所做的更改之类的也不会影响到其他地方。如果需要恢复用git checkout 或者repo che
    ckout就行了

  • 40.git上面如果在进入一个目录的时候,都是单个目录的话,其实是可以进行连续的操作的,直接按多次tab键就可以了。

  • 41.对于git中的diff出的内容理解:@@表示标记头,“-”表示原来的文件,"+"表示新的文件,后面的数字表示的是接下来会显示的对应行数,以及起始的行号。如果是删除,一般会用红色来表示
    添加会使用绿色来表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值