git 用法总结
A) git 配置
初始化git根目录
- 在已有目录内部
cd git_root_dir
git init
- 在当前位置生成 git 根目录
git init git_root_dir
git 配置文件:
~/.gitconfig 或者 git_root_dir/.git/config
设置 core info
git config --global core.editor "vim"
设置 user info
git config --global user.name "Christian Sheng"
git config --global user.email "[email protected]"
设置 别名(缩写)
git config --global alias.st status
git config --global alias.cm commit
git config --global alias.ck checkout
git config --global alias.br branch
查看 配置
git config --list
B) git 本地操作
把文件加到暂存区
git add file_name
git add . #All Files
提交到git仓库
git commit -m “some commend text”
创建 查看 分支 切换至该分支
git branch
git branch branch_name
git checkout branch_name
git checkout -b branch_name # git checkout命令加上-b参数表示创建并切换,等于上面两条
我们把branch_name分支删掉
git branch -d branch_name
git branch -D branch_name # 强制删除
查看 日志 和 命令记录
git log
git reflog
带参数的git log也可以看到分支的合并情况:
git log --graph --pretty=oneline --abbrev-commit
回到最近一次git commit或git add时的状态
git checkout -- file_name
把暂存区的修改撤销掉(unstage),重新放回工作区,不会修改file_name
git reset HEAD file_name
我们把分支(branch_name)的工作成果合并到当前分支上
git merge branch_name
回退 或 跳转
git reset --hard HEAD^ #回退1个
git reset --hard HEAD^^ #回退2个
git reset --hard HEAD~8 #回退8个
git reset --hard 3628164 #Jump to 3628164
C) git 远程协作
关联github,其中origin: 远程库的名字;christiansheng: github账号;git-school: github文件夹名
git remote add origin [email protected]:christiansheng/git-school.git
git push -u origin master # for first time
git push origin master # for later push
git fetch
git fetch
git merge
git merge
git pull
git pull
D) git 其他命令
git blame
git blame filename
git show
git show hashnumber
Delete local new files
git clean -df
git clean -f -d -x
show all the branch (include remote)
git branch -ar | less
git checkout origin/rel-22
git cmmit的高级
git cm -a 用于cherry-pick他人的change时的commit、
git cm --amend ,修改 最近一次commit的注释
git push
git push origin HEAD:refs/for/rel-22 #make a change
时间: 2024-10-14 07:50:01