关于git各种命令及使用
-
初始化一个Git仓库,在某个文件夹下使用
git init
命令即可。 -
添加文件到Git仓库,分两步:
git add <file> # 注意,可反复多次使用,添加多个文件;
git commit -m <message> # 完成一次提交多个文件
- 要随时掌握工作区的状态
git status
- 如果git status告诉你有文件被修改过
git diff #可以查看修改内容
版本回退
总结一下:
- HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git reset --hard commit_id
- 穿梭前,用以下命令可以查看提交历史,以便确定要回退到哪个版本
git log
- 要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。
工作区和暂存区
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
-
第一步是用
git add
把文件添加进去,实际上就是把文件修改添加到暂存区; -
第二步是用
git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。 -
Git是如何跟踪修改的,每次修改,如果不用git add到暂存区,那就不会加入到commit中
撤销修改
- 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git checkout -- file
- 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步:
第一步用命令git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。 - 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
删除文件
命令git rm
用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
创建git库
配置用户名
git config --global user.name "XXX"
git config --global user.email "XXX@mail.com"
从远程克隆仓库
git clone git@XXX.git
cd hello_service_demo
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
已经存在文件夹,并和远程库关联
cd existing_folder
git init
git remote add origin git@xxx.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin git@XXX.git
git push -u origin --all
git push -u origin --tags
Git 创建远程分支
假设当前分支为master,需要创建的分支是my-test
git checkout -b my-test //在当前分支下创建my-test的本地分支分支
git push origin my-test //将my-test分支推送到远程
git branch --set-upstream-to=origin/my-test //将本地分支my-test关联到远程分支my-test上
git branch -a //查看远程分支
此时远程分支my-test已经创建好了,并且本地的分支已经关联到远程分支上
本地push代码以后会push到关联的远程分支上。
Git修改gitignore文件
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push origin master