git教程学习笔记

最近在学Git教程这个教程,很简单,易懂,带视频,大赞。


# 基本操作

git add *
git rm *
git mv *
git commit -m ‘updated.’

git log 
git log --pretty=oneline
#查看合并情况
git log --graph --pretty=oneline --abbrev-commit

# 恢复撤销

git reset --hard HEAD^ git reset --hard 3628164(hash)

git checkout -- readme.txt


# 提交到远程

git remote add origin git@github.com:vi5i0n/learninggit.git

git push -u origin master

要关联一个远程库,使用命令

git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令

git push -u origin master

第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令

git push origin master

推送最新修改;


# 从远程同步

git clone git@github.com:vi5i0n/gitskills.git

# 分支管理

创建dev分支,然后切换到dev分支(-b参数表示创建并切换):

$ git checkout -b dev

相当于:

$ git branch dev
$ git checkout dev

git branch命令查看当前分支:

$ git branch

切换回master分支:

$ git checkout master

合并到master分支上:

$ git merge dev

删除dev分支了:

$ git branch -d dev

小结 查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name

# 解决冲突

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们手动修改


# 分支管理策略

个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:


# bug修复

stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

$ git stash

修复完了之后,

$ git stash list#查看
$ git stash pop

强行删除分支:

$ git branch -D feature-vulcan


# 多人协作的工作模式:

1.首先,可以试图用git push origin branch-name推送自己的修改;

2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

3.如果合并有冲突,则解决冲突,并在本地提交;

4.没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。


# 自定义Git

$ git config --global color.ui true

自己定义的文件,最终得到一个完整的.gitignore文件,内容如下:

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

# My configurations:
db.ini
deploy_key_rsa

用co表示checkout,ci表示commit,br表示branch:

$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区。既然是一个unstage操作,就可以配置一个unstage别名:

$ git config --global alias.unstage 'reset HEAD'
当你敲入命令:

$ git unstage test.py
实际上Git执行的是:

$ git reset HEAD test.py

配置一个git last,让其显示最后一次提交信息:

$ git config --global alias.last 'log -1'

# 参考

  1. Git教程

--EOF--


>看不到评论?GFW!!!