1、配置颜色、常用属性:
git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto
或者你可以通过color.ui选项把颜色全部打开:
git config color.ui true
git config --global user.name "Your Name Comes Here"
git config --global user.email you@yourdomain.example.com
git checkout --track origin/ipcam(本地没有ipcam分支,但是服务器上有,那么这个命令就会把服务器的ipcam分支pull下来)
git branch -d ipcam(删除本地ipcam分支)
git push origin :ipcam(删除本地ipcam分支)
2、Git 自動忽略檔案 / 目錄設定
要自動將某些檔案掠過不 Commit, 要設定 .gitignore 這個檔案. (哪些檔案是不要 commit 進去的)
-
vim .gitignore
tmp/**/*
log/*
config/database.yml
-
使用 git add . 等, 這些都不會將這些資料列入 commit. (.gitignore 會被列入 commit)
修改預設目錄
預設會產生 .git 目錄, 改成 .test
-
修改 Shell 變數 GIT_DIR => export GIT_DIR=.test
3、git format-patch使用:
git log --pretty=oneline
506d0d0bb0716e07432a532a0e5d97267cd38c0d change spi-flash for update firmware much faster.
7fcabda691a6b9cd4f322de06f2c34601b067356 添加使用25MHz晶振时,ls1b vga接口可正常显示的时序.
bb8ddee188f1a3380df65d094bb3993446bbec46 modify steppingmotor driver to solve the problem of excessive using cpu times
8e2dcb01771016e5eeb17b22775bf013410e596e 修改gcc编译标记,取消mips32r2,使用mips32编译.
如果我们只要其中的几个更新,那么可以这样做:
git format-patch bb8ddee...8e2dcb0
0001-modify-steppingmotor-driver-to-solve-the-problem-of-.patch
可以看到只生成了第3个commit的补丁。
然后在另外的分支打上补丁:
git am 0001-modify-steppingmotor-driver-to-solve-the-problem-of-.patch
4、比较不同版本:
查看与上一个版本的区别(列出不同的文件):git diff --stat HEAD^
查看与上一个版本具体文件的不同:git diff HEAD^ file
5、根据提交者来搜索:
git log --author bill
就会列出bill这个人提交的所有代码的列表。
6、git操作远程分支:
新建远程b2分支:
git branch b2;
git push origin b2;
其他的开发者通过以下命令从远程git切换到b2分支:
git checkout --tracking origin/b2
删除远程分支:
git push origin :b1
如果需要删除一个远程分支,则需要git push origin :b1根据 git push的定义,就是把空push到远程的b1 branch。也就是删除了。
但是,如果别人已经在b1删除之前执行了fetch或者pull,在本地有了b1这个branch,再次执行fetch或者pull并不会删除这个branch。运行git branch -a也不能看出这个branch被删除了。这时候需要运行
$ git remote show origin
* remote origin
Fetch URL: git@github.com:xxx/xxx.git
Push URL: git@github.com:xxx/xxx.git
HEAD branch: master
Remote branches:
master tracked
refs/remotes/origin/b1 stale (use 'git remote prune' to remove)
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
这时候能够看到b1是stale的,可以使用git remote prune origin将它从本地repo也去掉。
阅读(1635) | 评论(0) | 转发(0) |