这里记录git学习过程中用到的命令,按照学习先后顺序排列。日后在整理 ?
- git init myNewProjext # 在当前目录下创建myNewProject目录,并初始化做git仓库
- git add # 添加filename文件到追踪文件/staged
- git add . # 添加当前目录下的所有文件到追踪文件/staged
- git status
- git commit -m “comments”
- git config --global user.name “yourName” # 设置用户名
- git config --global user.email “yourEmailAddress” # 设置用户邮箱
- git config user.name / git config user.email # 查看当前配置的用户名、用户邮箱
- git checkout – # 丢弃修改使其回到最近一次commit 或 add的状态。(工作区的内容丢弃,回到commit版本最新状态,或是回到暂存区add最新状态)
- git reset HEAD # 丢弃filename最新一次add到stage的修改,使其回到modified的状态,可以使用git checkout – 命令再次丢弃,或直接对其进行修改(其实质是回归到最新commit版本上去)
- git log
or
git log --pretty=oneline # 查看commit历史 - git reset --hard HEAD^ # 回退到上一个commit版本
- git relog # 查看所有的commit版本情况,方便你寻找版本号回退 (git reset --hard xxxx)
- git rm # 该命令与git add是一个相同的过程。当我们删除一个文件之后,可以通过git rm 提交到stage,接着commit到版本库中。两个过程同样可以撤销操作或回退版本库。
- git remote add origin git@server-name:path/repo-name.git # 将本地库与远程库关联起来,远程库起名较origin
- git push -u origin master # 关联后的库,第一次推送本地master分支。
- 创建分支,合并分支过程
git checkout -b # 创建name分支,并切换当前分支为name
git branch # 创建name分支
git checkout # 切换当前分支为name
git branch # 查看仓库所有分支,以及当前分支
git checkout # 切换为name分支
git merge # 将name分支合并到当前分支上
git branch -d # 删除name分支
- 当合并发生冲突的时候,需要我们手动修改文件。当修改文件后,commit,git会默认帮你把之前的合并操作进行下去(即git相信在自动合并不能完成的时候,把最高权限交给管理员,即使你没有做任何操作,直接add-commit,git默认将之间合并操作进行下去。这有可能在后面其他分支再合并时候,再次出现冲突)。
- 使用
git log --graph --pretty=oneline --abbrev-commit
orgit log --graph
可以查看合并状态。 - git 设置代理
注意:github提供两种clone方式1.Clone with SSH. 2. Clone with HTTPS,以下设置如果你没有对本地SSH进行代理,使用方式2速度不会发生变化。所以在Clone的时候,要使用HTTPS的方式,这样clone会走代理流量。
- 以下为使用http代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
- 以下为使用socks5代理
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
- 取消代理
git config --global --unset http.proxy