Git使用总结
下载git客户端
参考课程:
废话少说,马上开整!
一.创建版本库
1.创建本地工作目录,进入到目录下:git init
2.clone远端的仓库:git clone git@github:Oterman1314/xxx.git
3.操作文件:
- 添加单个文件到暂存区:
git add filename.txt
- 添加所有的改变到暂存区:
git add .
- 将暂存区的文件提交到本地仓库中:
git commit -m " modify message"
- 将本地仓库同步到远端的仓库的maser分支:
git push origin master
二.时光机穿梭
时光穿梭机,当然是窜梭到过去啦!
1.查看当前状态:git status
2.查看不同:git diff
3.版本回退:
- 查看提交的历史记录:
git log
或git log --pretty=oneline
; - 查看所有commit记录:
git reflog
- 回退到上一个提交:
git reset --hard HEAD^
- 回退到前100次提交:
git reset --hard HEAD~100
- 回到某一具体提交:
git reset --hard commit版本的id
(通过git log可以查看 版本号不需要写全)
4.撤销修改:
-
修改未add到暂存区:
git checkout -- filename
-
修改已add到暂存区,但是未commit到仓库:
先将add取消:
git reset HEAD filename
然后进行第一步:git checkout -- filename
-
修改已经commit到仓库: 使用版本回退。
5.删除文件:
- 本地文件管理器中删除:
rm filename
(并没有从仓库中删除,通过git status可以查看) - 若恢复上述步骤删除的文件:
git checkout -- filename
- 若要在本地仓库中彻底删除文件:
git rm filename
然后提交:git commit -m "remove some files"
三.远程仓库
1.创建 ssh key: ssh-keygen -t rsa -C "oterman@126.com"
2.将../user/.ssh/id_rsa.pub的全部内容复制到github中的“setting->SSH Keys”中
3.将一个已经存在的本地仓库和github仓库同步:
(1)在github中新建一个仓库(名字不需要一致)
(2)在本地仓库运行:
-
将本地仓库和github的某个仓库建立联系:
git remote add origin git@github.com:Oterman1314/helloworld.git
-
将本地仓库同步到github的仓库:
git push -u origin master
(-u 表示 本地master分支和远端master分支相互关联)
4.克隆远端仓库:
(1)ssh协议:git clone git@github.com:Oterman1314/helloworld.git
(2)https协议:git clone https://github.com/Oterman1314/gitskills.git
5.查看本地仓库在远端的别名: git remote -v
6.删除与远端关联:git remote rm origin
7.将github的更新同步到本地仓库:git pull
8.将本地分支dev同步到gitbub: git push origin dev
四.分支管理
主分支开发,辅助分支修复bug
1.查看分支:git branch
2.切换分支:git checkout branch_name
3.创建并切换分支:git checkout -b branch_name
4.创建但不切换分支:git branch branch_name
5.合并分支:将dev分支合并到master分支:
git checkout master
git merge dev
6.删除分支:git branch -d dev
. (-D 强行删除未合并的分支)
7.保存未commit的现场,然后切换分支修复bug:
(1)保存现场:git stash
(2)查看保存的现场:git stash list
(3)恢复现场:git stash apply stash@{n}
(4)恢复并删除现场:git stash drop
五.标签管理
1.创建并查看标签:
1.查看标签:git tag
2.创建标签:git tag v1.1
3.给某个commit打上tag:git tag v1.1 xxxxxx(commit的id)
4.查看标签详细信息:git show v1.0
5.创建带说明的tag: git tag -a v1.1 -m "some message"
2.操作标签:
1.删除标签:git tag -d v1.1
2.同步某个标签到github: git push origin v1.1
3.同步所有的标签到远端: git push origin --tags
4.删除远端标签:
(1)git tag -d v1.1
(2)git push origin:refs/tags/v0.9
六.配置Git
1.忽略特殊文件
(1)将忽略的文件写入.gitignore中
vim .gitignore
(如:)
(dev.txt)
(*.class)
(temp/)
(2)提交.gitignore到git仓库
git add .gitignore
git commit -m "add .gitigonre"
2.配置别名
git config --global alias.st status
git st
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -l'
git config --llobal alias.lg "log --color --graph
--pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset
%s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
git lg
(以上配置放在 .git/config 中,)
(个人配置文件在 ~/.gitconfig 中)