Start
基本结构
Working
Directory当前使用的branch,与Repo区分,更新比对操作都要指定Repo中的一个Branch进行。
其中Repo中保存了多个branch的版本信息,可以任意切换到Working
Directory.
image
source 可以借助stash暂存一部分内容
注意事项
注意每次使用前先同步,否则可能出现冲突。
基本命令
1 2 3 4 5 6 7 8 9 10 11 12
|
git status
git log git log --pretty=oneline
git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port git config --global --get-regexp http.* git config --global --unset http.proxy git config --global --unset http.https://domain.com.proxy
|
初始化
标志在于.git文件的生成
1 2 3 4 5 6
| git clone
git init
git init -b defualt_branch
|
缓存区管理
提交修改
1 2 3 4
| git add .
git commit -m "log"
|
撤销修改
1 2 3 4 5 6
|
git restore [file]
git reset [file] git checkout -- test.txt
|
分支管理
1 2 3 4 5 6
| git checkout -b [name]
git branch -d
git merge
|
版本管理
比较文件
可以设置--diff-algorithm选择不同的比较方式,一般修改的代码都易于查重。
1 2 3 4 5 6 7 8 9 10 11
|
git diff HEAD [file]
git diff --staged [file]
git diff HEAD^ HEAD
check diff HEAD..origin/main
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| '+' -- A line was added here to the first file. '-' -- A line was removed here from the first file.
@@ -1,8 +1,9 @@ 1 #include "cache.h" 2 #include "walker.h" 3 4 -int cmd_http_fetch(int argc, const char **argv, const char *prefix) 5 +int main(int argc, const char **argv) 6 { 7 + const char *prefix; 8 struct walker *walker; 9 int commits_on_stdin = 0; 10 int commits;
|
标签
1 2 3 4 5 6 7 8 9
|
git tag v1.0 git tag v0.9 f52c633 git show v0.9 git tag -d v0.1
git push origin --tags git tag -d v0.9
|
远程管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
gh auth login git remtedeote add origin https://github.com/USER/REPO.git
git remote -v git remote rm origin
git clone https://pat@github.com/<account>/<repo>.git
git pull branch origin(br) git push branch origin
|
创建branch而非直接合并 refs/remotes/remote-repo,fetch和clone
1 2 3 4
| git remote add coworkers_repo git@bitbucket.org:coworker/coworkers_repo.git git fetch coworkers_repo coworkers/feature_branch fetching coworkers/feature_branch git checkout coworkers/feature_branch
|
文件设置
.gitignore 不同步的后缀
1 2 3 4 5 6 7 8 9 10 11 12
| Thumbs.db ehthumbs.db Desktop.ini
*.py[cod] *.so *.egg *.egg-info dist build
|