Git指令笔记

设置你本人拥有Git账号的账号邮箱: 
git config --global user.name "Your Name"
git config --global user.email "email@example.com




mkdir XXX 新建目录XXX
cd XXX    进入目录XXX
pwd       查看当前路径




git init                          (git初始化,即把当前目录变成Git可以管理的仓库)


git add  XXX                      (把文件XXX添加到仓库,文件名要带有类型后缀)


git commmit -m "提交的日志内容"  (把文件提交到仓库)


git status                        查看仓库当前的状态


git diff XXX                      (查看修改但未提交的文件XXX和之前的区别)


git diff HEAD -- XXX               查看文件XXX工作区和版本库里面最新版本的区别


git log                            查看日志,从最近到最远依次显示
git log --pretty=oneline           查看日志的简洁显示


git reset -- hard HEAD^            回退到上个版本,^^则为上上个版本,100个简写为HEAD ~100


cat XXX                            查看文件XXX的内容


git reglog                         查看记录你的每一次命令


git reset --hard ID的前几位        根据ID,指定回到未来的某个版本


git checkout -- XXX                把文件XXX在工作区的修改全部撤销


git reset HEAD XXX                可以把暂存区的修改撤销掉(unstage),重新放回工作区


生成密钥:
$ ssh-keygen -t rsa -C “test@gmail.com”


关联远程仓库
git remote add origin git@github.com:github用户名/github仓库名.git 


删除关联origin
git remote rm origin


将本地仓库所有内容推送到远程仓库
git push -u origin master   (master指主分支,也可以改成其他分支名)


(加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)


往后的简化命令
git push origin master


将远程仓库克隆到本地
git clone git@github.com:github用户名/github仓库名.git 




使用分支:


查看分支:git branch


创建分支:git branch <name>


切换分支:git checkout <name>


创建+切换分支:git checkout -b <name>


合并某分支到当前分支:git merge <name>


删除分支:git branch -d <name>
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。


git log --graph/git log --pretty=oneline --abbrev-commit   命令可以看到分支合并图。


通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息
请注意--no-ff参数,表示禁用Fast forward:
git merge --no-ff -m "合并信息" dev(合并分支名)




git stash    储存工作现场


git stash list 查看工作现场储存到哪


用git stash apply(后加储存位置名,如 stash@{0})恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;


另一种方式是用git stash pop,恢复的同时把stash内容也删了




多人协作下,如果分支推送到远程时其他人已先更新,需将远程的更新pull下来修改再提交,
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name,然后再次pull后修改推送到远程






标签
命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;


git tag -a <tagname> -m "blablabla..."可以指定标签信息;


git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;


命令git tag可以查看所有标签。


命令git push origin <tagname>可以推送一个本地标签;


命令git push origin --tags可以推送全部未推送过的本地标签;


命令git tag -d <tagname>可以删除一个本地标签;


命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
### 常见的 Git 指令列表及说明 #### 初始化仓库 `git init`: 创建一个新的Git仓库或者重新初始化一个已存在的仓库[^1]。 #### 克隆远程库 ```bash git clone <repository-url> ``` 此命令用于克隆一个项目到本地环境,同时设置好默认分支并自动拉取最新版本的数据。 #### 查看状态 ```bash git status ``` 显示工作目录的状态以及暂存区中的更改情况。这有助于了解哪些文件被修改过但还未提交至数据库中。 #### 添加改动到暂存区 ```bash git add <file-name> 或者 git add . ``` 前者会把单个文件加入到待提交队列里;后者则是将当前路径下所有的新创建/更新过的文档都标记为即将被打包入历史记录的一部分。 #### 提交变更 ```bash git commit -m "commit message" ``` 保存之前通过 `add` 加载进来的内容,并附带一条描述性的消息来解释这次变动的目的和意义所在。 #### 分支管理 - 列出所有分支: ```bash git branch ``` - 新建分支: ```bash git branch <branch-name> ``` - 切换分支: ```bash git checkout <branch-name> ``` - 合并分支: ```bash git merge <source-branch> ``` 这些操作允许开发者在同一时间线上维护多个开发线程,在完成特性实现之后再将其整合回主线之中。 #### 远程同步 - 将本地提交推送到远端服务器上: ```bash git push origin master ``` - 获取最新的上游变化并与之合并: ```bash git pull ``` 以上两个动作对于团队协作来说非常重要,因为它们确保了不同成员之间的工作成果能够及时共享并且保持一致。 #### 版本控制笔记功能 - 给指定对象添加备注信息: ```bash git notes add [-m <msg>] [<object>] ``` - 显示特定对象上的备注详情: ```bash git notes show [<object>] ``` 该工具可以帮助用户附加额外的信息给某次提交或其他类型的实体而不会改变其原始内容本身[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值