本文记录Git常用命令。
1 查询命令
1
2
3
|
git status # 查看当前git状态
git log # 查询修改记录
git tag -l # 查询tag
|
2 代码下载上传
1
2
3
4
5
6
7
|
# down load source code
git clone -b main git@github.com:alvincat/MyGithubWebsite.git MyWebsite
git submodule update --recursive # update submodule
git push
git pull
git push --set-upstream origin gh_pages # upload new branch
|
3 分支相关操作
1
2
3
4
5
6
|
git branch # 查看本地所有分支
git branch | grep "*" #查看当前分支
git checkout branch_name # 切换分支
git checkout -b gh_pages # create branch
git branch -D gh_pages # 删除本地分支
git push origin --delete main # 删除远端分支
|
4 修改相关操作
1
2
3
4
5
6
7
8
9
10
11
|
git commit -m "" # add commit
git add file1 file2 # add to local cache
git stash # 暂存当前修改
git stash pop # 恢复暂存内容
git reset --hard origin/master # 强制更新当前分支代码为master分支
git reset --mixed commit_id # 将制定commit_id以后的提交回退至未提交
git rebase -i head~2
git cherry-pick commit_id
|
5 远程仓库操作
1
2
3
4
5
6
7
8
9
10
11
12
|
# 查询本地关联的代码仓
git remote -v
# 添加远程分支, 其中origin为远程代码仓在本地的name, 本地代码可以关联多个远程代码仓
git remote origin https://github.com/olOwOlo/hugo-theme-even
git remote add myEvenBackup git@github.com:alvincat/HugoThemeEven.git
# 提交代码时可以指定代码仓进行
# 提交代码至https://github.com/olOwOlo/hugo-theme-even的master分支
git push -u origin master
# 提交代码至git@github.com:alvincat/HugoThemeEven.git的master分支
git push -u myEvenBackup master
|
6 gitignore的用法
git在提交代码时,存在部分本地生成的和代码无关的文件,不需要提交。这种文件或者目录就需要使用gitignore的机制进行过滤。使用方法如下:
- 在代码根目录创建文件
.gitignore
- 在文件中添加需要过滤的文件和目录,注意若要过滤整个目录,需要在目录后跟
/
常见情况解决方法:
- 添加到.gitignore文件中的目录,再次提交后并未生效。解决方法,执行代码:
git rm -r --cached <folder>