- 配置用户
- git config --global user.name "shaoyoushi"
- git config --global user.email "shaoyoushi@gmail.com"
- 初始化当前本地目录为本地仓库
- git init
- 添加修改到暂存区
- git add filename // 添加某个文件
- git add . // 添加当前目录
- 提交暂存区的修改到本地仓库的当前分支
- git commit [-m "comments"]
- 查看本仓库状态
- git status
- 查看文件变化
- git diff [filename]
- 显示提交日志
- git log
- 将当前版本(HEAD)设置为指定版本
- git reset revision
- 查看命令历史
- git reflog
- 恢复工作区文件(如果暂存区有文件就从暂存区恢复,否则从仓库恢复)
- git checkout -- filename
- 从暂存区删除文件
- git add filename // 先手工删除工作区的某个文件厚,再执行这一命令行,告诉git将工作区的修改(也就是删除操作)添加到暂存区
- git rm filename // 直接执行这一命令行,可以让git帮助你先删除工作区里面的指定文件,再将这个删除操作添加到暂存区
- 生成密钥
- ssh-keygen -t rsa -C "myemail@email.com" // 生成rsa类型的非对称密钥,并添加一个comments
- 查看本地关联的远程仓库
- git remote // 查看远程仓库的名称
- git remote -v // 查看远程参考的名称和对应的url
- 在本地添加远程库
- git remote add name url // 在本地添加关联一个远程仓库
- git remote add origin git@github.com:shaoyoushi/hello-world.git // 在本地添加关联一个远程库,命名为origin(习惯),采用的是ssh协议进行传输
- git remote add abc https://github.com:shaoyoushi/hello-world.git // 在本地添加关联一个远程库,命名为abc,采用的是https协议进行传输
- git remote add xyz https://github.com:shaoyoushi/hello-world // 在本地添加关联一个远程库,命名为abc,采用的是svn协议进行传输 ???
- 从本地删除一个远程库的关联
- git remote rm name
- 从本地重命名一个远程库的关联
- git remote rename old new
- 把远程仓库克隆到本地
- git clone url
- 创建一个分支
- git branch new_branch
- 切换到一个分支
- git checkout a_branch
- 创建并切换到一个分支
- git checkout -b new_branch
- 查看分支情况
- git branch
- 将一个指定分支合并到当前分支
- git merge a_branch
- 删除一个分支
- git branch -d a_branch
- 保存工作区现场,并将工作区置为clean状态。每次保存,最新的stash都被命名为stash@{0},而之前的保存的stash的命名都会加1,也就是说stash的保存类似于stack,是FILO的。注意,暂存区不会被保存,只会被清空。
- git stash // 保存一个stash
- git stash save // 保存一个stash
- git stash save "message" // 保存一个stash,并附加一条说明消息到这个stash上,方便后面的查看
- 从一个保存好的stash恢复工作区现场,注意:暂存区不会被恢复,只会被清空
- git stash apply // 从最近一次保存的stash恢复,也就是stash@{0}
- git stash apply stash@{1} // 从指定的一个stash恢复
- 从一个保存好的stash恢复工作区现场,并同时删除该stash
- git stash pop // 从最近一次保存的stash恢复,也就是stash@{0},并删除该stash
- git stash pop stash@{1} // 从指定的一个stash恢复,并删除该stash
- 列出所有的stash
- git stash list
- 显示一个stash的信息
- git stash show // 显示最近一次保存的stash的信息
- git stash show -v // 显示最近一次保存的stash的详细信息
- git stash show stash@{2} // 显示一个指定的stash的信息
- git stash show stash@{2} -v // 显示一个指定的stash的详细信息
- 删除stash
- git stash drop // 删除最近一次保存的stash
- git stash drop stash@{1} // 删除一个指定的stash
- git stash clear // 删除所有的stash
- 将修改推送到远程仓库
- git push origin master // 将本地的master分支推送到远程仓库origin的master分支上去
- git push // 将本地当前分支推送到相关联的远程仓库中去
- 从远程仓库获取修改
- git fetch origin master // 从远程仓库origin的master分支获取修改到本地
- git fetch // 从本地当前分支相关联的的远程仓库分支中获取修改到本地
- git pull origin master // 从远程仓库origin的master分支获取修改到本地,并执行merge操作
- git pull // 从本地当前分支相关联的的远程仓库分支中获取修改到本地,并执行merge操作
- 删除远程仓库中的分支
- git pull origin --delete a_branch // 从远程仓库origin中删除a_branch分支
- 增加tag
- git tag tag_name // 对当前分支的当前提交打一个tag
- git tag tag_name a_commit_id // 对当前分支的指定提交打一个tag
- 查看tag
- git tag
- 删除tag
- git tag -d a_tag_name
- 推送tag到远程仓库
- git push origina_tag_name // 推送一个指定的tag到远程仓库origin
- git push origin --tags // 推送所有未推送的tags到远程仓库origin
- 将本地删除tag的操作推送到远程仓库:(先在本地执行删除tag的操作,然后:)
- git push origin :refs/tags/a_tag_name
- 删除远程仓库的分支
- git push origin --delete tag a_tag_name
- 显示指定分支、提交、tag等信息
- git show a_branch
- git show a_commit_id
- git show a_tag
来源:https://www.cnblogs.com/LittleGirl-mm/p/5619711.html