- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
问题是当我为我的项目编写 Makefile 时,当我需要检测当前分支名称时,在 make 规则中我这样做了:
check_branch:
if [ "$(git rev-parse --abbrev-ref HEAD)" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
là
当我调用 make check_branch 时,"$(git rev-parse --abbrev-ref HEAD)" 不起作用,它返回 ""空字符串。但是,当我将 $() 更改为 ` ` 时,它运行良好。
check_branch:
if [ "`git rev-parse --abbrev-ref HEAD`" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
là
为什么 $() 不起作用但 `` 起作用了?仅适用于“git”命令。
请注意,在我的 Makefile 中,我在许多规则中通常使用 $()。
Cảm ơn:)
câu trả lời hay nhất
在食谱中,您必须转义美元符号才能让 shell 解释它们。否则,Make 将 $(git ...)
视为内置命令或变量并尝试对其求值(当然,不成功)。
check_branch: if [ "$$(git rev-parse --abbrev-ref HEAD)" == "master" ]; then \ ...
关于git - Makefile $(command) 不工作但 `command` 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729491/
Thỉnh thoảng tôi gõ "git" và sau đó nghĩ ra điều gì khác và gõ "gitcheck master" chẳng hạn. Tất nhiên, điều này để lại cho tôi $ git git kiểm tra master git: 'git' là
Tôi đã làm git clone git://foo.git cd foo...chỉnh sửa tập tin.. bây giờ tôi muốn bắt đầu lại. Tôi không quan tâm đến bất kỳ thay đổi nào tôi đã thực hiện, nhưng tôi không muốn sao chép lại toàn bộ foo.git khổng lồ và mất tất cả các thay đổi của mình. Làm sao tôi có thể
Tôi phát triển mã trên máy tính của mình và tôi có rất ít nút tính toán. Để giữ cho các chương trình của tôi được đồng bộ, tôi quyết định sử dụng git. Trước đây, tôi đã sử dụng nó ở chế độ một chiều để "đẩy" các thay đổi từ PC sang nút điện toán. Tuy nhiên, đôi khi, các lỗi nhỏ đặc trưng của các nút điện toán vẫn gặp phải và được khắc phục tại chỗ.
Mặc dù nó dường như không làm gì cả nhưng nó không đưa ra bất kỳ cảnh báo hoặc thông báo lỗi nào. Có ý tưởng gì không? Câu trả lời hay nhất đến từ các nhận xét trong nguồn Git: /* * Đọc cây thư mục. Hiện tại chúng tôi bỏ qua.
Tôi biết cách cung cấp tên người dùng và mật khẩu cho yêu cầu HTTPS như thế này: git clone https://username:password@remote nhưng tôi muốn biết cách cung cấp tên người dùng và mật khẩu cho Remote như thế này:
Sự khác biệt giữa Git GUI, Git Bash và Git CMD là gì? Tôi là người mới bắt đầu và để cài đặt, tôi thấy mình thường sử dụng cả git bash và git CMD Câu trả lời hay nhất Git CMD giống như sử dụng git
Ai đó có thể cho tôi biết việc xóa chỉ mục tệp trong git có nghĩa là gì không? Các tệp này được đánh dấu màu đỏ trong Mã VS của tôi, nhưng tôi vẫn có thể sửa đổi các tệp và đẩy các thay đổi vào kho lưu trữ từ xa sẽ phản ánh những thay đổi đó. Tôi nghĩ đó là tất cả về việc sử dụng cuộc sống của tôi
Tôi đã thêm thư viện GLFV vào dự án của mình thông qua cây con git nhưng tôi nhận được cảnh báo này "Có vẻ như cài đặt git hoặc cài đặt cây con git của bạn bị hỏng". Cũng được mô tả là một số lý do tại sao điều này có thể là: ví dụ git --exec-pa
Tôi có một kho lưu trữ yêu cầu dự án git bên ngoài nhưng tôi không muốn sử dụng mô-đun con vì tôi muốn lưu trữ tất cả các tệp trên github, vì vậy tôi nghĩ rằng tôi sẽ chỉ thêm toàn bộ thư mục có kho git vào git nhưng không được' t thêm .git vào bên trong
Tôi có một kho lưu trữ yêu cầu dự án git bên ngoài nhưng tôi không muốn sử dụng mô-đun con vì tôi muốn lưu trữ tất cả các tệp trên github, vì vậy tôi nghĩ rằng tôi sẽ chỉ thêm toàn bộ thư mục có kho git vào git nhưng không được' t thêm .git vào bên trong
Tôi đã đọc một bài viết trong đó tác giả hướng dẫn: Tạo một kho lưu trữ mới trong kho lưu trữ hiện có và tự hỏi liệu đây có phải là một lỗi mà anh ấy đã bỏ qua hay không. Tôi sẽ kiểm tra với anh ấy sau. Đây là những điều kiện tôi muốn kiểm tra: Các điều kiện để biến một thư mục hiện có thành một kho lưu trữ và đăng ký bản gốc
Tôi làm việc trên cùng một dự án trên các máy tính khác nhau và tôi tự hỏi liệu có cách nào để theo dõi thư mục .git đó để tôi không phải cấu hình lại các tệp cấu hình trong tất cả các tệp cục bộ của mình không. Tôi đẩy tất cả công việc của mình sang bitbucket. Câu trả lời hay nhất Không, không
Câu hỏi này đã có câu trả lời ở đây: Git lưu trữ tập tin như thế nào? (3 câu trả lời) Đã đóng 9 năm trước. Tôi tạo một kho lưu trữ từ xa cho nhiều dự án của mình, vì vậy đó là đích đến cho các lần đẩy của tôi. với git
Làm cách nào để xem toàn bộ lịch sử nội dung của tệp trong git? Một tệp có lịch sử ngắn trong git và kho lưu trữ được đồng bộ hóa qua git-svn, nhưng có lịch sử lâu dài trong svn. Lịch sử trong git đến vị trí tệp được di chuyển. Để xem lịch sử
Ở đây tôi đang bối rối... Làm cách nào để thực hiện cam kết git trên một tệp đã sửa đổi và làm cách nào để thực hiện cam kết git trên một tệp mới? Ngoài ra, làm cách nào để bạn cam kết các tệp riêng lẻ trong git? Câu trả lời hay nhất là quá trình gửi git được chia thành hai
Tìm kiếm ném SO để tìm câu trả lời. Đi qua chủ đề cũ này dường như không đưa ra bất kỳ câu trả lời nào. Khởi động lại chủ đề này, hy vọng ai đó biết! Ai đó có thể cho tôi biết sự khác biệt giữa cây con git và nhánh bộ lọc git không? vì
Tôi đang tự hỏi liệu có cách nào để tránh gõ từ git ở đầu mỗi lệnh Git không. Sẽ thật tuyệt nếu có cách chỉ sử dụng lệnh git một lần sau khi mở dấu nhắc lệnh và vào "Chế độ Git". Ví dụ: git> Sau đó ta key
Khi bạn sửa đổi một tập tin trong thư mục làm việc của mình, git sẽ yêu cầu bạn điều chỉnh nó bằng cách sử dụng "git add". Khi bạn thêm một tệp mới vào thư mục làm việc của mình, git sẽ yêu cầu bạn sử dụng "git add" để bắt đầu theo dõi. Tôi hơi bối rối với hai khái niệm này vì tôi cho rằng việc theo dõi các thay đổi đối với một tệp
Tại sao git:// hoạt động $ git clone git://github.com/schacon/grit.git Nhân bản vào 'grit'... ... Kiểm tra hình nón
Tôi đang thực hành git trong hộp cát sau: https://learngitbranching.js.org/?NODEMO Tôi đã chạy hai bộ lệnh trong hai phiên riêng biệt. Nhóm lệnh đầu tiên theo thứ tự sau: git clone
Tôi là một lập trình viên xuất sắc, rất giỏi!