git常用命令
- 本地
- git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置
- 把当前目录变成git可管理的仓库
- 告诉你哪些文件修改了
- 可以查看修改内容
- 将修改后的文件添加到暂存区,可以跟多个文件如: git add file2.txt
- 暂存区提交新版本
- 回滚版本,commit_id代表版本id
- 上一个版本就是HEAD\^,上上一个版本就是HEAD^^,当然往上100个版本写100个\^比较容易数不过来,所以写成HEAD~100
- 用git log可以查看提交历史,以便确定要回退到哪个版本
- 用git reflog查看命令历史,以便确定要回到哪个版本
- 丢弃工作区的修改,回到最近一次的add或者commit
- 清除暂存区放回工作区
- 文件删除
- 远程
- 分支管理
本地
git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
把当前目录变成git可管理的仓库
git init
告诉你哪些文件修改了
git status
可以查看修改内容
git diff
将修改后的文件添加到暂存区,可以跟多个文件如: git add file2.txt
bashfile3.txt
git add 文件.txt
暂存区提交新版本
git commit -m "提交的备注内容"
回滚版本,commit_id代表版本id
git reset --hard commit_id
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
git reset --hard HEAD^
用git log可以查看提交历史,以便确定要回退到哪个版本
git log
用git reflog查看命令历史,以便确定要回到哪个版本
git reflog
丢弃工作区的修改,回到最近一次的add或者commit
git checkout -- xu.txt
清除暂存区放回工作区
git reset HEAD xu.txt
文件删除
当删除一个test文件时通过git status
知道哪些文件被删除了
现在两个选择:
一是确实要从版本库中删除该文件,那就用命令git rm git commit -m "remove test.txt"
删掉,并且git commit -m "remove test.txt"
,这样就彻底删除了
另一种情况是删错了
可以从版本库进进行恢复
git checkout -- test.txt
远程
创建github链接
- 首先在本地生成key,检查一下本地用户目录的.ssh文件,看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有或者内容不对则删除.ssh文件夹再打开Shell创建SSH Key:
ssh-keygen -t rsa -C "你的邮箱"
- 登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
推送文件
在本地仓库运行以下命令关联链接,origin时远程库名,可以可以修改,建议还是用origin,后面的github需要修改成自己的
git remote add origin git@github.com:WSY1227/xu.git
本地库的所有内容推送到远程库上
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
第一次推送
git push -u origin master
后面推送
git push origin master
删除远程库
如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm 命令。使用前,建议先用git remote -v查看远程库信息:
git remote -v
然后,根据名字删除,比如删除origin:
git remote rm origin
此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
从远程库克隆
注意替换自己的仓库
git clone git@github.com:WSY1227/xu.git
分支管理
创建与合并分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
或者git switch <name>
创建+切换分支:git checkout -b <name>
或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
工作现场保存
当切换到另外一个分支,当前分支暂未提交需要保存一下git stash
,切换回来时再恢复git stash pop