设置用户名与邮箱
git config --global user.name "My Name"
git config --global user.email "my@email.com"
从已有的git库中提取代码
git clone git@server:app.git myrepo
克隆一个版本库(repository)到一个新的目录
git clone
git clone [–template=] [-l] [-s] [–no-hardlinks] [-q] [-n] [–bare] [–mirror] [-o ] [-u ] [–reference ] [–depth ] [–] []
在clone后, 执行不带参数的git fetch的命令将更新远端的任何branches, 而执行不带参数的git pull的命令将merge远程的master branch到当前master branch
更新本地代码到最新版本(需要merge才能合到本地代码中)
git fetch
合并更新后的代码到本地
git merge
更新代码方式的另一种方法(git pull是git fetch和git merge命令的一个组合)
git pull ( firstly, you should change to master, git checkout master )
修改代码后,查看已修改的内容
git diff --cached
将新增加文件加入到git中
git add file1 file2 file3
从git中删除文件
git rm file1
git rm -r dir1
提交修改
git commit -m 'this is memo'
如果想省掉提交之前的 git add 命令,可以直接用
git commit -a -m 'this is memo'
commit和commit -a的区别, commit -a相当于:
第一步:自动地add所有改动的代码,使得所有的开发代码都列于index file中
第二步:自动地删除那些在index file中但不在工作树中的文件
第三步:执行commit命令来提交
提交所有修改到远程服务器,这样,其它团队成员才能更新到这些修改
git push
查看log
git log
git log -p
tig
查看两个版本之间的不同:
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9: b8e7b00c02b95b320f14b625663fdecf2d63e74c:
查看两个版本之间的某个文件不同:
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename b8e7b00c02b95b320f14b625663fdecf2d63e74c:filename
查看两个版本之间某个文件夹的不同:
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9 b8e7b00c02b95b320f14b625663fdecf2d63e74c 文件夹
List Ignored Files
git ls-files -o -i --exclude-standard
Show Changed Files and Status
git log --name-status
Revert One File
git checkout
revert删除的文件
git ls-files -d
git checkout deleted_file_name
revert修改过的文件
git ls-files -m
git checkout modify_file_name
查看添加在本地的文件
git ls-files -a
回退*.file到指定version
git checkout file version
回退到某个version
git branch -b version
打补丁
git diff > xxx.patch
git format-patch -1 abc(-1 生成指定版本的patch)
patch -p1 < xxx.patch
git revert commit revert指定commit
git revert --hard revert到指定commit
清除本地文件(svn-clean)
git clean -d(dir) -n dirname #显示要清除的目录下的内容
git clean -d(dir) -f dirname #清除目录下的内容
参考:
Everyday GIT With 20 Commands Or So:
阅读(1410) | 评论(0) | 转发(0) |