git命令日常使用难点

1. 本地初始化后的项目提交到远程

1
2
3
git remote add origin git@github.com:hello20170205/gitCommandTest.git

git push -u origin master

2. 本地创建新分支后提交到远程

1
2
3
4
5
6
7
8
git push  -u origin 分支名
或者
git push --set-upstream origin 分支名

比如:
git push -u origin feature/addAuthor
或者
git push --set-upstream origin feature/addAuthor

3. 同时删除本地分支和远程分支

(1). 切换到其他分支(除要删除的分支外)

1
git checkout hello

(2). 删除本地分支

1
git branch -d test2

(3). 删除远程分支(注意:分支前的分号)

1
git push or :test2

4. 临时做新功能,创建新分支

4.1 其他功能尚未完成,该代码不应该带到新功能分支下

(1). 先将其他功能加入版本控制

1
git add .

(2). 将其他功能存储起来

1
git stash

(3). 创建并切换新分支,新分支写完代码 push 后不包含其他功能代码

1
git checkout -b feature/addTODO

4.2 其他功能尚未完成,该代码带到新功能分支下

创建并切换新分支,新分支写完代码 push 后包含其他功能代码

1
git checkout -b feature/addTODO

5. 新功能完成后,本地合并新功能分支

(1). 将新功能加入版本控制后提交

1
2
git add .
git commit -am "commit feature/addTODO"

(2). 切换到要合并到的分支

比如想要将 feature/addTODO 合并到 develop,那么就切换到 develop 分支

1
git checkout develop

(3). 合并分支

将 feature/addTODO 合并到 develop

1
git merge feature/addTODO

(4). 合并成功后删除分支

1
git branch -d feature/addTODO

6. 忽略已加入版本控制的文件或者文件夹

(1). 使用以下命令删除 Git 对于该文件(夹)的追踪

1
2
3
4
5
git rm --cached src/main/resources/spring-context.xml

或者

git rm -r --cached .idea

(2). 更新 .gitignore 忽略掉目标文件, 在.gitignore 添加以下一行

1
2
3
4
5
src/main/resources/spring-context.xml

或者

.idea

7. 取消修改的文件(已加入版本控制)

7.1 文件尚未存在暂存区

1
2
3
git checkout -- <file>

如: git checkout -- src/test/java/com/bin/reflect/StringTest.java

7.2 文件已存在暂存区(即用 git add 命令后)

(1). 让文件脱离暂存区

1
2
3
git reset HEAD <file>

如: git reset HEAD src/test/java/com/bin/reflect/StringTest.java

(2). 撤销文件修改

1
2
3
git checkout -- <file>

如: git checkout -- src/test/java/com/bin/reflect/StringTest.java

8. 恢复删除的文件(已加入版本控制)

(1) 使用 reset 命令,先将删除文件找回来。

1
git reset HEAD  hello.yaml

(2) 使用 checkout 命令恢复到版本控制

1
git checkout -- hello.yaml
文章目录
  1. 1. 本地初始化后的项目提交到远程
  2. 2. 本地创建新分支后提交到远程
  3. 3. 同时删除本地分支和远程分支
  4. 4. 临时做新功能,创建新分支
    1. 4.1 其他功能尚未完成,该代码不应该带到新功能分支下
    2. 4.2 其他功能尚未完成,该代码带到新功能分支下
  5. 5. 新功能完成后,本地合并新功能分支
  6. 6. 忽略已加入版本控制的文件或者文件夹
  7. 7. 取消修改的文件(已加入版本控制)
    1. 7.1 文件尚未存在暂存区
    2. 7.2 文件已存在暂存区(即用 git add 命令后)
  8. 8. 恢复删除的文件(已加入版本控制)
| 45.9k | |