git命令总结

来源:互联网 发布:法国4g网络制式 编辑:程序博客网 时间:2024/05/28 15:41

git init 初始化git仓库

git add . 将所有的代码添加到track(git add -A 全部添加,git add -i 交互式添加),取消所有添加: git reset HEAD

git log 查看记录

git reflog 查看所有历史log(常用于reset后,恢复)

git status 查看当前修改的状态

git diff <hash> <file> 查看different(例: git diff HEAD xxx.c)

git commit -m "coment" 提交版本,git commit --amend  修改刚刚提交的版本

git reset <hash> 回到某一版本,但不修改文件,只改log和文件的stage

git reset --hard <hash> 回到某一版本,包括文件

git help xxx 查看帮助(例:git help branch)

git branch xxx创建分支,git branch查看所有分支 ,git checkout master  切到主分支,git checkout -b xxx常见并切到某个分支


设置颜色:

  1. alec@PC$ git config --global color.status auto  
  2. alec@PC$ git config --global color.diff auto  
  3. alec@PC$ git config --global color.branch auto  
  4. alec@PC$ git config --global color.interactive auto  



这个可视化工具叫做Meld, 非常方便. sudo apt-get install meld 就可以安装.


安装以后Git使用命令:

git rebase xxx

这时候会如果有冲突系统就会提示出现conflict, 然后可以调用git mergetool, 系统会自动打开meld.

 

编辑完毕以后save&quit, 然后运行:

git rebase --continue

 

merge工作就完成了.

 

怎么让git diff命令也使用这个工具呢?

配置git :

<span style="font-size: 16px;">git config --global diff.external meld</span>


比较修改的文件:

<span style="font-size: 16px;">git diff HEAD^ filename</span>

其中 HEAD^ 是指上一个版本。


Meld 会被叫起来,但是会说参数错误"Wrong number of arguments (Got 7)"。原因是GIT 会送7 个参数给Meld ,但是Meld 只需要两个参数,两个需要比较的档名。所以不能直接用Meld ,必须要做一点小修改:

在自己的的目录下建立一个git-meld.sh 的script:

vi ~/git-meld.sh


加入以下内容:

#!/bin/sh
meld $2 $5


改变档案的属性:

chmod 777 ~/git-meld.sh


然后把external diff 改成这个shell script :

git config --global diff.external ~/git-meld.sh

 

大功告成! 

想恢复的话,修改~/.gitconfig文件,删掉对应的项即可。




0 0
原创粉丝点击