Git学习文档

2019-04-15  本文已影响0人  loewe0202

Git global setup

git config --global user.name "@name"
git config --global user.email "@email"

Create a new repository

git clone https://xxx.git
cd  new_folder
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder

cd existing_folder
git init
git remote add origin https://xxx.git
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository

cd existing_repo
git remote rename origin old_origin_name
git remote add origin https://xxx.git
git push -u origin --all
git push -u origin --tags

删除远程分支

git push origin --delete <BranchName>

删除本地分支

git branch -d <BranchName>

新建分支

git checkout -b <BranchName>
git push --set-upstream origin <BranchName> // 将本地分支和远程分支关联

合主分支

git pull
git merge origin/master

版本回退

git reset --hard

远程覆盖本地

git fetch --all
git reset --hard origin/master
git pull

本地覆盖远程

 git push origin develop:master -f
// 把本地的 develop 分支强制(-f)推送到远程 master
// 但是上面操作,本地的 master 分支还是旧的,通常来说应该在本地做好修改再去 push 到远端,所以我推荐如下操作

git checkout master 
// 切换到旧的分支

git reset --hard develop  
// 将本地的旧分支 master 重置成 develop

git push origin master --force 
//再推送到远程仓库

git fetch 只是下载远程的库的内容,不做任何的合并

同步 Fork 他人的最新代码

查看是否有远程分支的别名

git remote -v 

示例:git remote -v

origin https://github.com/a/a.git (fetch)
origin https://github.com/a/a.git (push)

添加 Fork 代码 Git 地址:git remote add upstream https://github.com/b/b.git

upstream https://github.com/b/b.git (fetch)
upstream https://github.com/b/b.git (push)
origin https://github.com/a/a.git (fetch)
origin https://github.com/a/a.git (push)

拉取最新代码:git fetch upstream
代码合并:git merge upstream/master
代码提交:git push

Git 工具 - 储藏(Stashing)

当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。

取消储藏(Un-applying a Stash)

git stash show -p stash@{0} | git apply -R

同样的,如果你沒有指定具体的某个储藏,Git 会选择最近的储藏:

git stash show -p | git apply -R

你可能会想要新建一个別名,在你的 Git 里增加一个 stash-unapply 命令,这样更有效率。例如:

git config --global alias.stash-unapply '!git stash show -p | git apply -R'
git stash apply
#... work work work
git stash-unapply

解决冲突

对于一般的冲突,执行以下命令都能解决

git add -A
git commit -m '提交'
git pull
git merge origin/master   (如果没有冲突可直接执行下面语句,有冲突的话先对比解决冲突,解决后再执行下面的语句)

git reflog

只要HEAD发生变化,就可以通过reflog查看到

上一篇下一篇

猜你喜欢

热点阅读