一、初始化仓库
初始化一个 Git 仓库,git init
二、提交修改
提交修改或提交新文件到 Git 仓库,分两步:
1. git add . (添加所有文件)或 git add <file>(注意,可反复多次使用,添加多个文件)
2. 使用命令 git commit -m "message",完成。
PS:git add 是把要提交的所有修改放到暂存区 Stage,然后,执行 git commit 就可以一次性把暂存区的所有修改提交到分支)
使用 git commit -a -m "message" 可同时实现暂存及提交修改
三、版本回退
1. 回退到之前的版本,git reset --hard HEAD^ (上一个版本:HEAD^,上上一个版本:HEAD^^,往上100个版本:HEAD~100。)
2. 指定回到某个版本:git reset --hard 1094a(版本号
PS:git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区(git add 之后的撤销操作)
四、其他常用命令
git status 命令可以让我们时刻掌握仓库当前的状态;
git diff 顾名思义就是查看 difference,具体修改了什么内容;
git log 命令显示从最近到最远的提交日志,如果嫌输出信息太多,可以加上--pretty=oneline参数
后悔药:git reflog 用来记录你的每一次命令
git checkout -- file 可以丢弃工作区的修改
五、关联远程仓库
1. 关联一个远程库,使用命令 git remote add origin git@server-name:path/repo-name.git;
(关联一个远程库时必须给远程库指定一个名字,origin 是默认习惯命名;)
2. 关联后,使用命令 git push origin master 第一次推送 master 分支的所有内容;
PS:GitHub 给出的地址不止一个,还可以用 https://github.com/michaelliao/gitskills.git 这样的地址。因为 Git 支持多种协议,默认的 git:// 使用 ssh,但也可以使用 https 等其他协议。
使用 https 不仅速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http 端口的公司内部就无法使用 ssh 协议而只能用 https。)
参考了:添加远程库
六、分支操作
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name> 或者 git switch <name>
创建+切换分支:git checkout -b <name> 或者 git switch -c <name>
合并某分支到当前分支:git merge <子分支name>
删除分支:git branch -d <name>
参考了:多人协作
七、 项目实用
1. Git global setup
```
git config --global user.name "user.name" git config --global user.email "user.email"
```
2. Create a new repository
```
git clone https://${ip}.git cd 'project name' touch README.md git add README.md git commit -m "add README" git push -u origin master
```
3. Push an existing folder
```
cd existing_folder git init git remote add origin https://${ip}.git git add . git commit -m "Initial commit" git push -u origin master
```
4. Push an existing Git repository
```
cd existing_repo git remote rename origin old-origin git remote add origin https://${ip}.git git push -u origin --all git push -u origin --tags
```